Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Cześć,
Mam problem z transferami plików. Można by rzec, że prawie działają, ale jest problem z niskim transferem, który w końcu po jakimś czasie pada.
Mam otwartego VBoxa z XP na pokładzie (NAT), zainstalowany najnowszy AQQ, na Gentoo działa sobie Gajim, do serwera również wychodzę przez NAT. Serwer xmpp uruchomiony na Debianie 7.1.
Scenariusz pierwszy:
Windows: konto @moja.domena.pl
Linux: konto @aqq.eu
Wysyłam plik testowy (@moja.domena.pl), zatwierdzam pobieranie (@aqq.eu). Transfer ok. 1 kB/s, po przetransferowaniu 160 kB zawiesza się, otrzymuję błąd połączenia.
Scenariusz drugi:
Windows: konto @aqq.eu
Linux: konto @moja.domena.pl
Wysyłam plik tekstowy (@moja.domena.pl), zatwierdzam pobieranie (@aqq.eu). Transfer 16,8 MB/s, wszystko w porządku.
Dodam, że problem występuje jeszcze z jabster.pl.
W jaki sposób to naprawić? Czego nie skonfigurowałem?
Offline
Spróbuj wystawić Ejabberd na publicznym Ip, do którego jest przypisana domena.
Mam na myśli wszystkie porty na których słucha ejabbgerd.
W ogóle taka usługa, jak serwer jabbera wystawiony przez NAT, to proszenie się o kłopoty.
Jeśli jest na Vboxie, to zamiast NAT stawiasz vboxnet0, w konfigu Vboxa/maszyny, karty vboxnetX jest widziana w systemie gospodarza z własnym adresem, routing i przekierowania między eth0 a vboxnet0 da się wyrzeźbić, choć rzeźbienia troszkę jest.
W przeciwieństwie do Vboxowego NAT, przy vboxnetX sieć jest pod kontrolą,
Offline
Nie zauważyłem limitu przy module proxy65, zdefiniowanym tutaj:
%% The "normal" shaper limits traffic speed to 1.000 B/s %% {shaper, normal, {maxrate, 1000}}.
Wygląda na to, że to to. Nie wiedziałem co to, więc zakomentowałem, a potem odszukałem w configu co znaczy definicja shaper. Teraz chodzi dobrze.
Dziękuję bardzo za Twój post Jacku, ale źle mnie zrozumiałeś. Stoi na publicznym IP, tylko za NAT to testowałem z dwóch hostów.
Wszystko prawdopodobnie jest w porządku. Choć jeszcze nie oznaczam [SOLVED] - poczekam na dalsze problemy. Jeszcze tylko port 7777 odblokuje i włączę filtry, bo na czas zabawy wszystko wyłączyłem.
=INFO REPORT==== 2013-09-02 22:37:01 === I(<0.308.0>:ejabberd_listener:281) : (#Port<0.2083>) Accepted connection {{82,160,113,1},42555} -> {{37,187,98,68},7777}
Czyli ogółem będzie tak:
$IPTABLES -A INPUT -p tcp --dport 5222 -m state --state NEW -j ACCEPT $IPTABLES -A INPUT -p tcp --dport 5269 -m state --state NEW -j ACCEPT $IPTABLES -A INPUT -p tcp --dport 7777 -m state --state NEW -j ACCEPT
Nawiązane puszczam luzem.
Ostatnio edytowany przez hornet (2013-09-02 22:49:58)
Offline
Ejabberd jest dosyć wrażliwy na ataki dos, daj na tych portach connlimit i haslimit, żeby ograniczyć liczę możliwych równoczesnych połączeń, i przede wszystkim nowych połączeń.
Jak się bawiłem Jabberem, to miałem coś takiego:
iptables -A INPUT ! -i lo -p tcp --dport 5269 -m connlimit --connlimit-upto 10 --connlimit-mask 0 --connlimit-saddr -m hashlimit --hashlimit-upto 5/min --hashlimit-burst 5 --hashlimit-mode srcip --hashlimit-name xmpp -j ACCEPT
W bardziej hardcorowej tak:
iptables -N XMPP iptables -A XMPP ! -i lo -m state --state NEW -m set --match-set spamhaus src -j STEAL iptables -A XMPP ! -i lo -m state --state NEW -m set --match-set sblamdrop src -j STEAL iptables -A XMPP ! -i lo -m connlimit --connlimit-upto 10 --connlimit-mask 0 --connlimit-saddr -m hashlimit --hashlimit-upto 3/min --hashlimit-burst 3 --hashlimit-mode srcip --hashlimit-name xmpp -j ACCEPT iptables -A INPUT -i eth0 -p tcp --dport 5269 -j XMPP
Poza tym w grę wchodzą również inne porty, nie wiem, czy uruchamiasz stun i komunikację głosową, ale tam dopiero jest jazda z portami tcp i udp.
Na zewnątrz wystawiałem tylko port s2s, obie wersje działały i serwerek się grzecznie awanturował z rożnymi serwerami. :D
I oczywiście, jeśli ma gadać w domenie, to trzeba zrobić rekordy srv w strefie DNS.
http://wiki.xmpp.org/web/SRV_Records
Jeśli z jakimś serwerem nie będzie się łączyć, to przyda się dodać adresy hostów do /etc/hosts, np Jabber.org i Gmail:
208.68.163.221 hermes.jabber.org 208.68.163.221 hermes6.jabber.org 2605:da00:5222:5269::2:1 hermes6.jabber.org 209.85.148.19 gmail.com 209.85.148.83 gmail.com 209.85.148.17 gmail.com 209.85.148.18 gmail.com 209.85.175.125 alt1.xmpp-server.l.google.com 74.125.127.125 alt4.xmpp-server.l.google.com 74.125.39.125 xmpp-server.l.google.com 72.14.203.125 alt3.xmpp-server.l.google.com 74.125.71.125 alt2.xmpp-server.l.google.com 209.85.225.26 alt2.gmail-smtp-in.l.google.com 74.125.127.26 alt1.gmail-smtp-in.l.google.com 74.125.93.27 alt4.gmail-smtp-in.l.google.com 74.125.39.27 gmail-smtp-in.l.google.com 74.125.159.27 alt3.gmail-smtp-in.l.google.com 74.125.39.108 gmail-smtp-msa.l.google.com 74.125.39.109 gmail-smtp-msa.l.google.com 74.125.79.108 gmail-imap.l.google.com 74.125.79.109 gmail-imap.l.google.com
Gmail razem z pocztą, ale nie chciało mi się teraz kombinować, które są do czego. :D
Pidginowi i Gajmowi takie wpisy też pomagają.
Do tego lokalny cache-dns - i powinno brykać.
I pamiętaj przy okazji o porcie ssl/5223, przy szyfrowanym połączeniu ten stary system jest nawet lepszym rozwiązaniem, niż szyfrowanie TLS włączane na żądanie przez startlts.
Ostatnio edytowany przez Jacekalex (2013-09-02 23:20:54)
Offline
Mógłbyś mi podać uprawnienia do configa głównego:
ls -la ejabberd.cfg -rw------- 1 root ejabberd 17000 wrz 2 23:03 ejabberd.cfg
Bo chyba coś przez przypadek popsułem...
DNS mam załatwione:
_xmpp-client._tcp.frogeater.eu. 18000 IN SRV 0 5 5222 frogeater.eu. _xmpp-server._tcp.frogeater.eu. 18000 IN SRV 0 5 5269 frogeater.eu.
Wydaje mi się, że póki co wszystko działa co chciałem (ogólna komunikacja i transfery plików). Niczym innym nie byłem zainteresowany, ale zainteresowałeś mnie.
No prawie działa... ;)
Offline
Możesz spokojnie dać na pliki konfiguracyjne 640 lub jakby nie banglało, 644, właściciel root i grupa do której należy ejabberd.
I oczywiście 750 lub 755 na folder z tymi plikami, user i grupa tak samo.
A jak chcesz się bawić, to Ejabberd obsługuje komunikację Audio i Video.
Do tego ma bardzo sympatyczny panel do administrowania kontami.
Ostatnio edytowany przez Jacekalex (2013-09-02 23:38:43)
Offline
Odgrzebuje.
Problem powrócił. Wcześniej miałem łącze, które dochodziło do max 1Mb/s (upload) i nic nie zauważyłem. Teraz mam koło 10 Mb/s i jest problem.
{mod_proxy65, [{ip, {xx,xx,xx,xx}}]},
Konfiguracja modułu minimalna. Można ustawić jeszcze port, ograniczenie prędkości. Ale zaraz.. ja nie mam żadnego ograniczenia, a max rate to 1 Mb/s, a fajnie byłoby mieć chociaż te 8-10 Mb/s. Oczywiście łącze serwera pozwoli na to.
W czym może być problem?
Pozdrawiam.
Offline
Time (s) | Query |
---|---|
0.00008 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00093 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='52.15.170.196' WHERE u.id=1 |
0.00068 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '52.15.170.196', 1732513577) |
0.00042 | SELECT * FROM punbb_online WHERE logged<1732513277 |
0.00088 | SELECT topic_id FROM punbb_posts WHERE id=239970 |
0.00005 | SELECT id FROM punbb_posts WHERE topic_id=24182 ORDER BY posted |
0.00052 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=24182 AND t.moved_to IS NULL |
0.00009 | SELECT search_for, replace_with FROM punbb_censoring |
0.00189 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=24182 ORDER BY p.id LIMIT 0,25 |
0.00076 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=24182 |
Total query time: 0.00634 s |