Fórum Root.cz
Hlavní témata => Sítě => Téma založeno: Dz 08. 07. 2014, 01:11:07
-
Mám naprosto šílený problém s přípojkou VDSL od O2 - pevná IP adresa.
Konfigurace je následující - modem v bridge režimu, zakončen ve virtuálním linuxu přes PPPD. DNS resolvy přes UDP port 53 chodí normálně.
Virtuální stroj dělá NAT a teď ta věc - stroje připojené přes ten nat nemohou provést DNS query na cílovou IP DNS serveru. Ať už server O2 nebo google.
Na následujícím tcpdumpu je chyceno PPPoE na rozhraní fyzického železa (tedy L2 a bez vlivu jakéhokoliv mého firewallu).
Nyní se snažím resolvnout s virtuální mašiny za virtuálním natem s PPPD, žádná odpověď DNS serveru nepřijde:
01:37:27.878333 PPPoE [ses 0x2efe] IP 88.101.101.228.47844 > 194.228.41.65.domain: 50668+ A? www.dsl.cz. (28)
01:37:32.774554 PPPoE [ses 0x2efe] IP 88.101.101.228.40046 > 194.228.41.65.domain: 20658+ A? www.dsl.cz. (28)
01:37:34.587624 PPPoE [ses 0x2efe] IP 88.101.101.228.53513 > 194.228.41.65.domain: 21459+ A? www.dsl.cz. (28)
01:37:35.488655 PPPoE [ses 0x2efe] LCP, Echo-Request (0x09), id 137, length 10
01:37:35.505928 PPPoE [ses 0x2efe] LCP, Echo-Reply (0x0a), id 137, length 10
01:37:36.017452 PPPoE [ses 0x2efe] IP 88.101.101.228.33839 > 194.228.41.65.domain: 41792+ A? www.dsl.cz. (28)
01:37:37.051348 PPPoE [ses 0x2efe] IP 88.101.101.228.38640 > 194.228.41.65.domain: 6521+ A? www.dsl.cz. (28)
No a teď přímo z virtuálního natujícího stroje:
01:38:15.528772 PPPoE [ses 0x2efe] LCP, Echo-Request (0x09), id 139, length 10
01:38:15.546518 PPPoE [ses 0x2efe] LCP, Echo-Reply (0x0a), id 139, length 10
01:38:18.819566 PPPoE [ses 0x2efe] IP 88.101.101.228.57411 > 194.228.41.65.domain: 44630+ A? www.dsl.cz. (28)
01:38:18.842782 PPPoE [ses 0x2efe] IP 194.228.41.65.domain > 88.101.101.228.57411: 44630 1/3/6 A 88.86.109.241 (259)
01:38:18.843338 PPPoE [ses 0x2efe] IP 88.101.101.228 > 88.86.109.241: ICMP echo request, id 28680, seq 1, length 64
01:38:18.865696 PPPoE [ses 0x2efe] IP 88.86.109.241 > 88.101.101.228: ICMP echo reply, id 28680, seq 1, length 64
01:38:18.866178 PPPoE [ses 0x2efe] IP 88.101.101.228.43067 > 194.228.41.65.domain: 15825+ PTR? 241.109.86.88.in-addr.arpa. (44)
01:38:18.889258 PPPoE [ses 0x2efe] IP 194.228.41.65.domain > 88.101.101.228.43067: 15825 1/2/4 PTR db.aspa.cz. (205)
01:38:19.844506 PPPoE [ses 0x2efe] IP 88.101.101.228 > 88.86.109.241: ICMP echo request, id 28680, seq 2, length 64
01:38:19.867285 PPPoE [ses 0x2efe] IP 88.86.109.241 > 88.101.101.228: ICMP echo reply, id 28680, seq 2, length 64
Prostě DNS odpověd přijde. Ping na DNS server z virtuálního stroje za natem taky funguje. Ale DNS resolving ne.
Myslím si, že O2 na firewallu nějak zařezává DNS dotazy, které prošly NATem. Ale nemám absolutně tucha, jak ten jejich firewall mohl poznat, že je to znatované.
Přijde mi to úplně šílené.
-
Napadlo mě TTL, tak jsem s ním hýbal, ale zvýšení z 63 na 64 nemělo vliv (z virtuálního stroje za natem) a ani neměl vliv snížení z 64 na cokoliv nižšího přímo na natu (z nat stroje dns funguje).
-
Tak jsem na to přišel - checksum offloading dělalo problém, asi nějaká buga v macvtap. Ale zvláštní, že TCP normálně fungovalo...
Po vypnutí tx checksumming ve virtuální mašině ve stroji za natem začalo DNS resolvování fungovat. Po zapnutí validace checksumu ve wiresharku vypadlo, že UDP checksum není validní.
-
Tuhle se tu něco řešilo ohledně DNS a O2 DSL přípojek: http://forum.root.cz/index.php?topic=7197.0