MajQ Opublikowano 11 Czerwca 2010 Zgłoś Opublikowano 11 Czerwca 2010 (edytowane) Mam mały problem ze skonfigurowaniem shorewalla. Serwer ma jeden interfejs, standardowa konfiguracja: shorewall + dodane reguły dla portów 110,995, 25, 465, 587. Większość poczty przechodzi bez problemu ale niektóre przesyłki nie. W logach exima mam komunikat: Connection timed out: SMTP timeout while connected to *.*.*.* after sending data blockPo wyłączeniu firewalla wysyłane są normalnie. Próbowałem podejrzeć przez tcpdump co się dzieje ale nie bardzo mi to pomogło (wynik przefiltrowany przez grepa dla nazwy zdalnego hosta), poczta nie wysłana (fw on): 11:22:30.438376 IP moj.adres.59390 > adres.zewnetrzny.smtp: . 2154457383:2154458831(1448) ack 3764779870 win 92 <nop,nop,timestamp 129384801 3265275034>11:22:30.438790 IP adres.zewnetrzny.smtp > moj.adres.59390: P ack 4344 win 5936811:22:30.438816 IP moj.adres.59390 > adres.zewnetrzny.smtp: . 46336:49232(2896) ack 1 win 92 <nop,nop,timestamp 129384801 3265275034>11:22:42.954410 IP moj.adres.59391 > adres.zewnetrzny.smtp: . 2242942039:2242943487(1448) ack 3505499105 win 92 <nop,nop,timestamp 129387930 3265275661>11:22:42.954806 IP adres.zewnetrzny.smtp > moj.adres.59391: P ack 20272 win 3620011:22:42.954846 IP moj.adres.59391 > adres.zewnetrzny.smtp: . 37648:40544(2896) ack 1 win 92 <nop,nop,timestamp 129387930 3265275661>11:22:42.959808 IP adres.zewnetrzny.smtp > moj.adres.59391: . ack 20272 win 53576 <nop,nop,timestamp 3265276356 129387034,nop,nop,sack 3 {865434397:865441637}{865430053:865431501}{865424261:865428605}>11:22:42.960551 IP adres.zewnetrzny.smtp > moj.adres.59391: . ack 20272 win 53576 <nop,nop,timestamp 3265276356 129387034,nop,nop,sack 3 {865434397:865443085}{865430053:865431501}{865424261:865428605}>11:23:04.458380 IP moj.adres.59391 > adres.zewnetrzny.smtp: . 20272:21720(1448) ack 1 win 92 <nop,nop,timestamp 129393306 3265275661>11:23:04.458764 IP adres.zewnetrzny.smtp > moj.adres.59391: P ack 26064 win 5068011:23:28.902405 IP moj.adres.59390 > adres.zewnetrzny.smtp: . 20272:21720(1448) ack 1 win 92 <nop,nop,timestamp 129399417 3265275034>11:23:28.902907 IP adres.zewnetrzny.smtp > moj.adres.59390: P ack 26064 win 3909611:23:28.902948 IP moj.adres.59390 > adres.zewnetrzny.smtp: . 55024:57920(2896) ack 1 win 92 <nop,nop,timestamp 129399417 3265275034>poczta wysłana (fw off): 11:29:28.315877 IP adres.zewnetrzny.smtp > moj.adres.59390: F 3764779870:3764779870(0) ack 2154495031 win 49232 <nop,nop,timestamp 3265316890 129414265,nop,nop,sack 3 {1032207007:1032221487}{1032202663:1032205559}{1032199767:1032201215}>11:29:28.315896 IP moj.adres.59390 > adres.zewnetrzny.smtp: R 2154495031:2154495031(0) win 011:29:28.524996 IP adres.zewnetrzny.smtp > moj.adres.59390: F 0:0(0) ack 1 win 49232 <nop,nop,timestamp 3265316911 129414265,nop,nop,sack 3 {1032207007:1032221487}{1032202663:1032205559}{1032199767:1032201215}>11:29:28.525012 IP moj.adres.59390 > adres.zewnetrzny.smtp: R 2154495031:2154495031(0) win 011:29:28.944988 IP adres.zewnetrzny.smtp > moj.adres.59390: F 0:0(0) ack 1 win 49232 <nop,nop,timestamp 3265316953 129414265,nop,nop,sack 3 {1032207007:1032221487}{1032202663:1032205559}{1032199767:1032201215}>11:29:28.945004 IP moj.adres.59390 > adres.zewnetrzny.smtp: R 2154495031:2154495031(0) win 011:29:29.784969 IP adres.zewnetrzny.smtp > moj.adres.59390: F 0:0(0) ack 1 win 49232 <nop,nop,timestamp 3265317037 129414265,nop,nop,sack 3 {1032207007:1032221487}{1032202663:1032205559}{1032199767:1032201215}>11:29:29.784988 IP moj.adres.59390 > adres.zewnetrzny.smtp: R 2154495031:2154495031(0) win 011:29:30.995084 IP moj.adres.59989 > ip-*.*.*.*.static.crowley.pl.domain: 40468+ MX? gis.gov.pl. (28)11:29:31.002466 IP ip-*.*.*.*.static.crowley.pl.domain > moj.adres.59989: 40468 1/2/2 MX adres.zewnetrzny. 10 (133)11:29:31.002587 IP moj.adres.58618 > ip-*.*.*.*.static.crowley.pl.domain: 3525+ AAAA? adres.zewnetrzny. (33)11:29:31.010072 IP moj.adres.59496 > ip-*.*.*.*.static.crowley.pl.domain: 6417+ A? adres.zewnetrzny. (33)11:29:31.018957 IP ip-*.*.*.*.static.crowley.pl.domain > moj.adres.59496: 6417 1/2/1 A mail.gis.gov.pl (117)11:29:31.021635 IP moj.adres.36934 > adres.zewnetrzny.smtp: S 154651727:154651727(0) win 5840 <mss 1460,sackOK,timestamp 129489946 0,nop,wscale 6>11:29:31.024202 IP adres.zewnetrzny.smtp > moj.adres.36934: S 4189640227:4189640227(0) ack 154651728 win 5792 <mss 1460,sackOK,timestamp 3265317160 129489946,nop,wscale 0>11:29:31.024231 IP moj.adres.36934 > adres.zewnetrzny.smtp: . ack 1 win 92 <nop,nop,timestamp 129489947 3265317160>11:29:31.061183 IP adres.zewnetrzny.smtp > moj.adres.36934: P 1:42(41) ack 1 win 5792 <nop,nop,timestamp 3265317164 129489947>11:29:31.061216 IP moj.adres.36934 > adres.zewnetrzny.smtp: . ack 42 win 92 <nop,nop,timestamp 129489956 3265317164>Jakby wszystkie nie wychodziły to jeszcze rozumiem ale tylko część (np. na onet)? W czym może być problem? Edytowane 16 Czerwca 2010 przez DuG1 Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Gość <account_deleted> Opublikowano 14 Czerwca 2010 Zgłoś Opublikowano 14 Czerwca 2010 Próbowałem podejrzeć przez tcpdump co się dzieje ale nie bardzo mi to pomogło (wynik przefiltrowany przez grepa dla nazwy zdalnego hosta)hmm, a możesz pokazać config shorewalla? albo lepiej iptables? Czy masz włączone logowanie w iptables/regułach? - co pokazują logi? config Layer7 dla netfilter? Exima słabo znam, ale to raczej nie jego wina - chyba że reguły L7 dla exima są spitolone... Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
MajQ Opublikowano 15 Czerwca 2010 Zgłoś Opublikowano 15 Czerwca 2010 (edytowane) hmm, a możesz pokazać config shorewalla? albo lepiej iptables? Czy masz włączone logowanie w iptables/regułach? - co pokazują logi? config Layer7 dla netfilter? Exima słabo znam, ale to raczej nie jego wina - chyba że reguły L7 dla exima są spitolone... Chain INPUT (policy DROP)target prot opt source destinationACCEPT all -- anywhere anywhereeth0_in all -- anywhere anywhereACCEPT all -- anywhere anywhere state RELATED,ESTABLISHEDReject all -- anywhere anywhereLOG all -- anywhere anywhere LOG level info prefix `Shorewall:INPUT:REJECT:'reject all -- anywhere anywhereChain FORWARD (policy DROP)target prot opt source destinationeth0_fwd all -- anywhere anywhereACCEPT all -- anywhere anywhere state RELATED,ESTABLISHEDReject all -- anywhere anywhereLOG all -- anywhere anywhere LOG level info prefix `Shorewall:FORWARD:REJECT:'reject all -- anywhere anywhereChain OUTPUT (policy DROP)target prot opt source destinationACCEPT all -- anywhere anywhereeth0_out all -- anywhere anywhereACCEPT all -- anywhere anywhere state RELATED,ESTABLISHEDReject all -- anywhere anywhereLOG all -- anywhere anywhere LOG level info prefix `Shorewall:OUTPUT:REJECT:'reject all -- anywhere anywhereChain Drop (2 references)target prot opt source destinationreject tcp -- anywhere anywhere tcp dpt:authdropBcast all -- anywhere anywhereACCEPT icmp -- anywhere anywhere icmp fragmentation-neededACCEPT icmp -- anywhere anywhere icmp time-exceededdropInvalid all -- anywhere anywhereDROP udp -- anywhere anywhere multiport dports loc-srv,microsoft-dsDROP udp -- anywhere anywhere udp dpts:netbios-ns:netbios-ssnDROP udp -- anywhere anywhere udp spt:netbios-ns dpts:1024:65535DROP tcp -- anywhere anywhere multiport dports loc-srv,netbios-ssn,microsoft-dsDROP udp -- anywhere anywhere udp dpt:1900dropNotSyn tcp -- anywhere anywhereDROP udp -- anywhere anywhere udp spt:domainChain Reject (4 references)target prot opt source destinationreject tcp -- anywhere anywhere tcp dpt:authdropBcast all -- anywhere anywhereACCEPT icmp -- anywhere anywhere icmp fragmentation-neededACCEPT icmp -- anywhere anywhere icmp time-exceededdropInvalid all -- anywhere anywherereject udp -- anywhere anywhere multiport dports loc-srv,microsoft-dsreject udp -- anywhere anywhere udp dpts:netbios-ns:netbios-ssnreject udp -- anywhere anywhere udp spt:netbios-ns dpts:1024:65535reject tcp -- anywhere anywhere multiport dports loc-srv,netbios-ssn,microsoft-dsDROP udp -- anywhere anywhere udp dpt:1900dropNotSyn tcp -- anywhere anywhereDROP udp -- anywhere anywhere udp spt:domainChain all2all (0 references)target prot opt source destinationACCEPT all -- anywhere anywhere state RELATED,ESTABLISHEDReject all -- anywhere anywhereLOG all -- anywhere anywhere LOG level info prefix `Shorewall:all2all:REJECT:'reject all -- anywhere anywhereChain dropBcast (2 references)target prot opt source destinationDROP all -- anywhere anywhere PKTTYPE = broadcastDROP all -- anywhere anywhere PKTTYPE = multicastChain dropInvalid (2 references)target prot opt source destinationDROP all -- anywhere anywhere state INVALIDChain dropNotSyn (2 references)target prot opt source destinationDROP tcp -- anywhere anywhere tcp flags:!FIN,SYN,RST,ACK/SYNChain dynamic (2 references)target prot opt source destinationChain eth0_fwd (1 references)target prot opt source destinationdynamic all -- anywhere anywhere state INVALID,NEWsmurfs all -- anywhere anywhere state INVALID,NEWtcpflags tcp -- anywhere anywhereChain eth0_in (1 references)target prot opt source destinationdynamic all -- anywhere anywhere state INVALID,NEWsmurfs all -- anywhere anywhere state INVALID,NEWACCEPT udp -- anywhere anywhere udp dpts:bootps:bootpctcpflags tcp -- anywhere anywherenet2fw all -- anywhere anywhereChain eth0_out (1 references)target prot opt source destinationACCEPT udp -- anywhere anywhere udp dpts:bootps:bootpcfw2net all -- anywhere anywhereChain fw2net (1 references)target prot opt source destinationACCEPT all -- anywhere anywhere state RELATED,ESTABLISHEDACCEPT icmp -- anywhere anywhereACCEPT udp -- anywhere anywhere udp dpt:domainACCEPT tcp -- anywhere anywhere tcp dpt:domainACCEPT tcp -- anywhere anywhere tcp dpt:smtpACCEPT tcp -- anywhere anywhere tcp dpt:ssmtpACCEPT tcp -- anywhere anywhere tcp dpt:pop3ACCEPT tcp -- anywhere anywhere tcp dpt:pop3sACCEPT tcp -- anywhere anywhere tcp dpt:imap2ACCEPT tcp -- anywhere anywhere tcp dpt:imapsACCEPT tcp -- anywhere anywhere tcp dpt:submissionACCEPT all -- anywhere anywhereChain logdrop (0 references)target prot opt source destinationLOG all -- anywhere anywhere LOG level info prefix `Shorewall:logdrop:DROP:'DROP all -- anywhere anywhereChain logflags (5 references)target prot opt source destinationLOG all -- anywhere anywhere LOG level info prefix `Shorewall:logflags:DROP:'DROP all -- anywhere anywhereChain logreject (0 references)target prot opt source destinationLOG all -- anywhere anywhere LOG level info prefix `Shorewall:logreject:REJECT:'reject all -- anywhere anywhereChain net2all (0 references)target prot opt source destinationACCEPT all -- anywhere anywhere state RELATED,ESTABLISHEDDrop all -- anywhere anywhereDROP all -- anywhere anywhereChain net2fw (1 references)target prot opt source destinationACCEPT all -- anywhere anywhere state RELATED,ESTABLISHEDDROP icmp -- anywhere anywhere icmp echo-requestACCEPT tcp -- anywhere anywhere tcp dpt:sshACCEPT tcp -- anywhere anywhere tcp dpt:smtpACCEPT tcp -- anywhere anywhere tcp dpt:ssmtpACCEPT tcp -- anywhere anywhere tcp dpt:pop3ACCEPT tcp -- anywhere anywhere tcp dpt:pop3sACCEPT tcp -- anywhere anywhere tcp dpt:wwwACCEPT tcp -- anywhere anywhere tcp dpt:httpsACCEPT tcp -- anywhere anywhere tcp dpt:imap2ACCEPT tcp -- anywhere anywhere tcp dpt:imapsACCEPT tcp -- anywhere anywhere tcp dpt:submissionACCEPT tcp -- 192.168.0.50 anywhere tcp dpt:muninDrop all -- anywhere anywhereDROP all -- anywhere anywhereChain reject (11 references)target prot opt source destinationDROP all -- anywhere anywhere PKTTYPE = broadcastDROP all -- anywhere anywhere PKTTYPE = multicastDROP all -- 255.255.255.255 anywhereDROP all -- BASE-ADDRESS.MCAST.NET/4 anywhereDROP igmp -- anywhere anywhereREJECT tcp -- anywhere anywhere reject-with tcp-resetREJECT udp -- anywhere anywhere reject-with icmp-port-unreachableREJECT icmp -- anywhere anywhere reject-with icmp-host-unreachableREJECT all -- anywhere anywhere reject-with icmp-host-prohibitedChain shorewall (0 references)target prot opt source destinationChain smurfs (2 references)target prot opt source destinationLOG all -- 192.168.0.255 anywhere LOG level info prefix `Shorewall:smurfs:DROP:'DROP all -- 192.168.0.255 anywhereLOG all -- 255.255.255.255 anywhere LOG level info prefix `Shorewall:smurfs:DROP:'DROP all -- 255.255.255.255 anywhereLOG all -- BASE-ADDRESS.MCAST.NET/4 anywhere LOG level info prefix `Shorewall:smurfs:DROP:'DROP all -- BASE-ADDRESS.MCAST.NET/4 anywhereChain tcpflags (2 references)target prot opt source destinationlogflags tcp -- anywhere anywhere tcp flags:FIN,SYN,RST,PSH,ACK,URG/FIN,PSH,URGlogflags tcp -- anywhere anywhere tcp flags:FIN,SYN,RST,PSH,ACK,URG/NONElogflags tcp -- anywhere anywhere tcp flags:SYN,RST/SYN,RSTlogflags tcp -- anywhere anywhere tcp flags:FIN,SYN/FIN,SYNlogflags tcp -- anywhere anywhere tcp spt:0 flags:FIN,SYN,RST,ACK/SYN logowanie mam wyłączone bo w sumie mi zbędne ale spróbuję włączyć i zobaczę czy coś ciekawego się pojawi. w sumie za dużo portów mam odblokowanych (pop3 i imap) ale kombinuję z tą pocztą na razie bezskutecznie. edit: włączyłem logowanie w shorewallu dla pakietów porzuconych (DROP). musze poczekać aż jakaś wiadomość nie wyjdzie to zobaczę może coś pokaże ciekawego... delivering 1OOQCi-0001fF-4FR: dnslookup for *@wm.plT: remote_smtp for *@wm.plConnecting to poczta2.wm.pl [212.160.105.210]:25 ... connected SMTP<< 220 ******************************************************************************* SMTP>> EHLO mail.pl SMTP<< 250-thor.wm.pl Hello ip-*.static.crowley.pl [*], pleased to meet you 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-8BITMIME 250-SIZE 55248520 250-DSN 250-ETRN 250-AUTH LOGIN PLAIN GSSAPI DIGEST-MD5 CRAM-MD5 250-XXXXXXXXA 250 XXXB SMTP>> MAIL FROM:<*@mail.pl> SIZE=149730 SMTP>> RCPT TO:<*@wm.pl> SMTP>> DATA SMTP<< 250 2.1.0 <*@mail.pl>... Sender ok SMTP<< 250 2.1.5 <*@wm.pl>... Recipient ok SMTP<< 354 Enter mail, end with "." on a line by itself SMTP>> writing message and terminating "."LOG: MAIN SMTP timeout while connected to poczta2.wm.pl [212.160.105.210] after sending data block (8189 bytes written): Connection timed outLOG: MAIN == *@wm.pl R=dnslookup T=remote_smtp defer (110): Connection timed out: SMTP timeout while connected to poczta2.wm.pl [212.160.105.210] after sending data block (8189 bytes written) a firewall przepuszcza: kernel: [1209127.322839] Shorewall:fw2net:ACCEPT:IN= OUT=eth0 SRC=192.168.0.50 DST=212.160.105.210 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=22574 DF PROTO=TCP SPT=57079 DPT=25 WINDOW=5840 RES=0x00 SYN URGP=0 a po wyłączeniu firewalla mam: SMTP>> writing message and terminating "." SMTP<< 250 OK SMTP>> QUITLOG: MAIN => *@wm.pl R=dnslookup T=remote_smtp H=poczta2.wm.pl [212.160.105.210]LOG: MAIN Completed Edytowane 15 Czerwca 2010 przez DuG1 Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Gość <account_deleted> Opublikowano 15 Czerwca 2010 Zgłoś Opublikowano 15 Czerwca 2010 a firewall przepuszcza: kernel: [1209127.322839] Shorewall:fw2net:ACCEPT:IN= OUT=eth0 SRC=192.168.0.50 DST=212.160.105.210 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=22574 DF PROTO=TCP SPT=57079 DPT=25 WINDOW=5840 RES=0x00 SYN URGP=0 Coś dużo tego ACCEPT... Timeout może wynikać np. z fragmentacji pakietów, na którą nie pozwala host po drugiej stronie, albo może po prostu trzeba spróbować ziększyć "retry/timeout limit" dla exima? ...coś też mi się nie podoba msg FW: SPT=57079 -> DPT=25 ok - a co w drugą stronę? może tu jest problem (NAT) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
MajQ Opublikowano 15 Czerwca 2010 Zgłoś Opublikowano 15 Czerwca 2010 (edytowane) zwiększanie timeout dla exima nie ma sensu bo przy wyłączonym firewallu wysyła się natychmiast a przy włączonym zatrzymuje się i tak przez pare min do timeoutu. logowanie miałem włączone tylko dla pakietów wychodzących na porcie smtp więc dlatego nie ma nic zwrotnego. postaram się jutro sprawdzić. a co do fragmentacji to muszę się douczyć bo ni cholery mi to teraz nie mówi :) najbardziej dziwi mnie to, że dotyczy to tylko niektórych serwerów - do większości przesyłki wychodzą bezproblemowo. i tak swoją drogą - do wysyłki poczty powinien wystarczyć tylko otwarty port tcp 25 + dns? Edytowane 15 Czerwca 2010 przez DuG1 Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Gość <account_deleted> Opublikowano 15 Czerwca 2010 Zgłoś Opublikowano 15 Czerwca 2010 najbardziej dziwi mnie to, że dotyczy to tylko niektórych serwerów - do większości przesyłki wychodzą bezproblemowo. i tak swoją drogą - do wysyłki poczty powinien wystarczyć tylko otwarty port tcp 25 + dns? No w zasadzie tak, o ile host nie wymaga jakichś specjalnych ustawień dla połączeń szyfrowanych. Pakiety zwrotne muszą dochodzić - nie przemyślalem tego do końca - przecierz transmisja wywala się już po uwierzytelnieniu... ale oczywiście warto sprawdzić co przychodzi z zewnątrz. Próbowałeś diagnostyki z poziomu exima? - jest tam parę opcji... ..a no i spróbowałbym innego dns - poprzedni tcpdump tutaj się różni nieco - może dns google albo providera? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
MajQ Opublikowano 16 Czerwca 2010 Zgłoś Opublikowano 16 Czerwca 2010 (edytowane) myślałem, że znalazłem rozwiązanie ale dalej lipa... co może jeszcze blokować firewall, że ta poczta nie wychodzi? mam chyba to samo co tutaj: http://www.gossamer-threads.com/lists/exim/users/81043 EDIT: zauwazyłem, że wiadomości czasem wychodzą. niestety przy włączonym firewallu wysyła baaaardzo wolno - kilkanaście/kilkadziesiąt razy wolniej niż przy wyłączonym (sprawdzałem eximem z opcją debug) i stąd te timeout'y pewnie. Edytowane 16 Czerwca 2010 przez DuG1 Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Gość <account_deleted> Opublikowano 17 Czerwca 2010 Zgłoś Opublikowano 17 Czerwca 2010 Tak, problem wygląda podobnie - pytanie: spróbowałeś wyłączyć window_scaling? MTU:gość zredukował z 1458 do 1200? skąd te liczby to nie wiem... Default dla MTU to 1492 lub 1500, sensowna redukcja w celach testowych jest do poziomiu znacznie poniżej 1000 (576 min) Dla uzyskania pełnego obrazu sytuacji potrzebny jest pełny dump pakietów I/O po wyjściu z FW oraz po stronie klienta (przed FW). To pozwoli stwierdzić różnice jaką wprowadza FW, stopień fragmentacji, ilość retransmisji itp. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
MajQ Opublikowano 18 Czerwca 2010 Zgłoś Opublikowano 18 Czerwca 2010 (edytowane) na razie się poddaję... Edytowane 21 Lutego 2011 przez DuG1 Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...