Прошу совета по работе Giga II. Вкратце опишу ситуацию: имеется две сети - маленькая и большая. Маленькая выходит в интернет через Zyxel Keenetic Giga II (1.10.B.RU.NDMS). В большой сети находится DNS сервер (отдельно стоящая машина, контроллер домена Win2008), большая сеть ходит наружу через шлюз на ubuntu. Между сетями был организован туннель посредством Openvpn. И вот, захотелось машины из маленькой сети ввести в домен из большой сети. Обнаружилось, что если прописать на клиентах из маленькой сети dns-сервер из большой - разрешение имен не работает.
Проведя трассировку на сервере DNS, обнаружил что запросы от клиентов из маленькой сети успешно обрабатываются, ответы отправляются клиентам. Проверил iptables как на шлюзе в большой сети , так и на zyxel'е в малой. Правил достаточно для успешного прохождения пакетов. После этого поставил на zyxel tcpdump и стал проверять что проходит по интерфейсам tun0 и eth2
Натравив tcpdump на eth2 и затем прописав на клиенте адрес dns-сервера, получил такое: (предварительно поясню, что 192.168.136.33 - клиент в малой сети, на котором пытаюсь разрешить имя, 192.168.96.124 - DNS-сервер в большой сети)
01 | 14:39:59.998940 IP 192.168.136.33.62998 > 192.168.96.124.53: 12058+ SOA? www.microsoft.com. (35) |
02 | 14:40:00.178168 IP 192.168.96.124.53 > 192.168.136.33.62998: 12058 3/0/0 CNAME toggle.www.ms.akadns.net., CNAME g.www.ms.akadns.net., CNAME lb1.www.ms.akadns.net. (107) |
03 | 14:40:00.180240 IP 192.168.136.33.60655 > 192.168.96.124.53: Flags [S], seq 3883711783, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0 |
04 | 14:40:00.210856 IP 192.168.96.124.53 > 192.168.136.33.60655: Flags [S.], seq 2579151769, ack 3883711784, win 8192, options [mss 1368,nop,wscale 8,nop,nop,sackOK], length 0 |
05 | 14:40:00.211437 IP 192.168.136.33.60655 > 192.168.96.124.53: Flags [.], ack 1, win 256, length 0 |
06 | 14:40:00.211577 IP 192.168.136.33.60655 > 192.168.96.124.53: Flags [P.], seq 1:38, ack 1, win 256, length 375842+ SOA? www.microsoft.com. (35) |
07 | 14:40:00.223560 IP 192.168.96.124.53 > 192.168.136.33.60655: Flags [P.], seq 1:173, ack 38, win 513, length 1725842 3/1/0 CNAME toggle.www.ms.akadns.net., CNAME g.www.ms.akadns.net., CNAME lb1.www.ms.akadns.net. (170) |
08 | 14:40:00.224315 IP 192.168.136.33.60655 > 192.168.96.124.53: Flags [F.], seq 38, ack 173, win 255, length 0 |
09 | 14:40:00.245311 IP 192.168.96.124.53 > 192.168.136.33.60655: Flags [.], ack 39, win 513, length 0 |
10 | 14:40:00.245844 IP 192.168.96.124.53 > 192.168.136.33.60655: Flags [F.], seq 173, ack 39, win 513, length 0 |
11 | 14:40:00.246413 IP 192.168.136.33.60655 > 192.168.96.124.53: Flags [.], ack 174, win 255, length 0 |
12 | 14:40:05.313090 IP 192.168.136.33.62999 > 192.168.96.124.53: 1+ PTR? 124.96.168.192.in-addr.arpa. (45) |
13 | 14:40:05.352969 IP 192.168.96.124.53 > 192.168.136.33.62998: 1 NXDomain 0/0/0 (45) |
14 | 14:40:05.353502 IP 192.168.136.33 > 192.168.96.124: ICMP 192.168.136.33 udp port 62998 unreachable, length 81 |
15 | 14:40:07.311487 IP 192.168.136.33.63000 > 192.168.96.124.53: 2+ A? ixbt.com. (26) |
16 | 14:40:07.356518 IP 192.168.96.124.53 > 192.168.136.33.62998: 2 1/0/0 A 91.208.42.67 (42) |
17 | 14:40:07.357084 IP 192.168.136.33 > 192.168.96.124: ICMP 192.168.136.33 udp port 62998 unreachable, length 78 |
18 | 14:40:09.311208 IP 192.168.136.33.63001 > 192.168.96.124.53: 3+ AAAA? ixbt.com. (26) |
19 | 14:40:09.313917 IP 192.168.96.124.53 > 192.168.136.33.62998: 3 0/1/0 (91) |
20 | 14:40:09.314693 IP 192.168.136.33 > 192.168.96.124: ICMP 192.168.136.33 udp port 62998 unreachable, length 127 |
21 | 14:40:11.311171 IP 192.168.136.33.63002 > 192.168.96.124.53: 4+ A? ixbt.com. (26) |
22 | 14:40:11.313520 IP 192.168.96.124.53 > 192.168.136.33.62998: 4 1/0/0 A 91.208.42.67 (42) |
23 | 14:40:11.314079 IP 192.168.136.33 > 192.168.96.124: ICMP 192.168.136.33 udp port 62998 unreachable, length 78 |
24 | 14:40:13.311235 IP 192.168.136.33.63003 > 192.168.96.124.53: 5+ AAAA? ixbt.com. (26) |
25 | 14:40:13.313786 IP 192.168.96.124.53 > 192.168.136.33.62998: 5 0/1/0 (91) |
26 | 14:40:13.314356 IP 192.168.136.33 > 192.168.96.124: ICMP 192.168.136.33 udp port 62998 unreachable, length 127 |
Т.е. когда я указываю на клиенте адрес DNS-сервера, ОС (как видим это windows) проверяет наличие доступа в интернет послав запрос по поводу
www.microsoft.com с порта 62998 (строка 1). Ответы на последующие запросы , в т.ч. на мои потуги разрешить ixbt.com, приходят не на порты с которых эти запросы отправлялись, а на все тот же порт 62998, с которого все началось (при этом бодро получая udp port 62998 unreachable, строки 14,17,20,23,26).
Отсюда вопрос: как это исправить (имею в виду , как сделать чтобы ответы возвращались на "правильные порты", а не на те, где никто уже не ждет ответа) ?
P.S. попробовал отслеживать сразу и eth2 и tun0. Обнаружил, что в исходящем пакете в "большую" сеть с tun0 появляется таки "неправильный" порт, на который и пытается вернуться ответ от dns-сервера. Т.е. это все nat виноват ?