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/.
Problem:
Od około miesiąca w całej sieci strona firmowa nie otwiera się zarówno na stacjach roboczych w LAN (Windows / Linux / MacOS) jak i bezpośrednio z routera (np. przez links). Problem występuje w losowych odstępach czasu i trwa czasem 10 minut, czasem kilka godzin.
Szczegóły:
Podczas przerwy w dostępie do strony wszystkie inne witryny ładują się poprawnie (poza tymi, które są hostowane na tym samym serwerze www).
Podczas przerwy w dostępie do strony dostaję normalną odpowiedź ICMP z serwera docelowego.
Podczas przerwy w dostępie mogę otworzyć stronę z innego połączenia (np. przez komórkę).
Podczas przerwy w dostępie działa "telnet <HOST-DOCELOWY> 80".
Trying XX.XX.XX.XX... Connected to XX.XX.XX.XX. Escape character is '^]'.
Przerwa występuje w godzinach pracy. Kilka razy łącząc się z zewnątrz do serwera po godzinach pracy strona ładowała się normalnie (przez links z konsoli). Dodam, że pracownicy wewnątrz sieci często odwiedzają stronę.
Kontaktowałem się w tej sprawie z firmą hostingową - stwierdzili, że u nich nie ma żadnych blokad na nasz adres IP.
Kontaktowałem się w tej sprawie z ISP - stwierdzili, że u nich nie ma żadnych blokad i problem leży gdzieś po "naszej" stronie.
Ustawiłem tymczasowo FIREWALL na ACCEPT, nie pomogło (konf. poniżej).
Zmieniłem SNAT na MASQUERADE dla LAN, nie pomogło.
Zmieniłem serwery DNS, nie pomogło.
Podczas przerwy odłączyłem cały LAN od routera, zrestartowałem serwer bez połączenia do LAN, nie pomogło.
System:
Router: Linux 3.16.0-4-amd64 #1 SMP Debian 3.16.39-1 (2016-12-30) x86_64 GNU/Linux
Sieć: ok. 40 stacji roboczych na kablu + WiFi dla urządzeń mobilnych pracowników (wszystko wpięte w CISCO SG-500-52), 5 VLANów (wydzielone sekcje dla pracowników, księgowości, wifi, monitoring, inne), 2 karty sieciowe w routerze (w uproszczeniu LAN + WAN).
Brak jakichkolwiek PROXY wewnątrz sieci. Na routerze działa DNSMASQ jako serwer DHCP + DNS oraz serwer SSH.
Testowa konfiguracja IPTABLES:
$ipt -F $ipt -X $ipt -Z $ipt -t nat -F echo -n '1' > /proc/sys/net/ipv4/ip_forward echo -n '0' > /proc/sys/net/ipv4/conf/all/accept_source_route echo -n '0' > /proc/sys/net/ipv4/conf/all/accept_redirects echo -n '1' > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts echo -n '1' > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses $ipt -P INPUT ACCEPT $ipt -P OUTPUT ACCEPT $ipt -P FORWARD ACCEPT $ipt -A INPUT -m conntrack --ctstate INVALID -j DROP $ipt -A OUTPUT -m conntrack --ctstate INVALID -j DROP $ipt -A FORWARD -m conntrack --ctstate INVALID -j DROP $ipt -t nat -A POSTROUTING -o $WAN_IFACE -j SNAT --to-source $WAN_IP
Gdzie może leżeć problem, co jeszcze można sprawdzić?
Moje podejrzenie to ISP - konfiguracja ich proxy lub jakiś filtr (być może w związku z dużą ilością zapytań z naszej sieci) jednak nie jestem w stanie tego udowodnić w żaden sposób. Dziwne jest to, że problem zaczął występować około miesiąc temu - wcześniej takie problemy nie występowały a między czasie w sieci nie wprowadzano żadnych znaczących zmian w konfiguracji.
Z góry dzięki za wszelkie wskazówki mogące znaleźć przyczynę problemu :).
Offline
DHCP, DNS sprawdź czy działa poprawnie. To że logujesz się po IP i pingujesz po IP to może problem leży ze zmiana nazwy na IP.
NP. ktoś ma postawiony serwer DHCP, albo z jakiś powodów źle działa DNS.
Offline
wszystkie polityki na accept?
Offline
Przede wszystkim: wbij na sztywno do /etc/hosts (czy jak masz windowsa to tam gdzie on ma ten plik) i sprawdź co się stanie. Jeśli połączysz się ze stroną to nakop do rzyci gościowi co skonfigurował dnsmaska. Jeśli nie - będziemy szukać dalej.
Offline
Dziwne to wszystko.
Jeżeli strona wisi na necie, i jest widoczna po adresie domeny, to po wyłączeniu dnsmasqa powinna chodzić bez problemu na każdym kompie,
który ma internet.
W ogóle na sieci powyżej 5 kompów wolę klasyczny serwer DHCP,
a zamiast dnsmaqa wziąłbym binda, jest dużo łatwiejszy w konfiguracji,
jeśli chodzi o cache-dns:
http://ubuntu.pl/forum/viewtopic.php?f=150&t=120338
Ostatnio edytowany przez Jacekalex (2017-03-09 19:13:55)
Offline
Wielkie dzięki za wszystkie propozycje.
@djjanek
DHCP i DNS działają poprawnie, logi nic złego nie wskazują, adresy rozdawane są poprawnie, DNS odpowiada na zapytania. DNS odpowiada również poprawnym adresem IP docelowego serwera, z którym mam problem. Ping jest, jednak strona nie ładuje się (ERR TIMEOUT).
@Yampress
Tak, wszystko na ACCEPT jak przy przytoczonej tymczasowej konfiguracji iptables.
@ethanak
Wpisanie docelowego hosta do /etc/hosts nie pomogło...
@Jacekalex
Strasznie dziwne, bo nie wiem gdzie jeszcze może leżeć problem dlatego potrzebuje "świeżego spojrzenia", bo wydaje mi się, że coś mi umyka :).
Strona wisi "na zewnątrz" sieci, jest dostępna z innych połączeń np. komórkowych, czy z innych lokalizacji poza siecią.
Na chwilę obecną DNSMASQ sprawdza się wystarczająco dobrze, ale jutro wieczorem spróbuję BIND + ISC-DHCP i zobaczę, czy to pomoże.
Dzięki raz jeszcze za zainteresowanie!
---
Niestety, BIND + ISC-DHCP nic nie zmienia - problem pozostaje.
Ostatnio edytowany przez bukzzo (2017-03-14 13:56:08)
Offline
Time (s) | Query |
---|---|
0.00014 | SET CHARSET latin2 |
0.00008 | SET NAMES latin2 |
0.00175 | 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='3.149.253.73' WHERE u.id=1 |
0.00108 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.149.253.73', 1732257389) |
0.00064 | SELECT * FROM punbb_online WHERE logged<1732257089 |
0.00085 | DELETE FROM punbb_online WHERE ident='3.144.123.24' |
0.00109 | SELECT topic_id FROM punbb_posts WHERE id=309225 |
0.00145 | SELECT id FROM punbb_posts WHERE topic_id=29419 ORDER BY posted |
0.00095 | 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=29419 AND t.moved_to IS NULL |
0.00015 | SELECT search_for, replace_with FROM punbb_censoring |
0.00160 | 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=29419 ORDER BY p.id LIMIT 0,25 |
0.00108 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=29419 |
Total query time: 0.01086 s |