URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 77171
[ Назад ]

Исходное сообщение
"Xen + bridge + iptables SNAT = грабли"

Отправлено agentsmith , 04-Ноя-07 18:33 
Добрый день.

схема интерфейсов:http://img107.imageshack.us/my.php?image=schemebu0.jpg
Для создания моста(xenbr1) и использовался скрипт, который идет в поставке с xen - networking-bridge.
Нат на интерфейсе eth1 настроен при помощи iptables -t nat -A POSTROUTING -o eth0 -J SNAT --to-source $EXTERNAL_IP

на виртуальной машине и машин из local network  default gateway 192.168.10.1
В результате имеем следующее:
1.из local network имеем доступ на Dom0, DomU и Internet;
2.из DomU доступ в local network и Dom0.
Проблема появляется с доступом из DomU в интернет, симптомы такие:
1. ICMP работает нормально, т.е. ping в интернет по IP проходит без проблем,
2. tcp/udp пакеты не проходят.
Попробовал изучить проблему при помощи tcpdump(на интерфейсах eth0 и vif1.0):
отправляется dns запрос
1. на vif1.0 192.168.10.2 -> dns_server_ip:domain
2. на eth0 $EXTERNAL_IP -> dns_server_ip:domain (видим, что нат отработал)
3. на eth0 dns_server_ip:domain -> $EXTERNAL_IP  
4. на vif1.0 глухо ((((

собственно вот и все. Вопрос: куда копать?



Содержание

Сообщения в этом обсуждении
"Xen + bridge + iptables SNAT = грабли"
Отправлено agentsmith , 05-Ноя-07 23:08 
Я продолжил расследование и выяснил следующее:
при попытке подсоежинится по ssh получается следующее
107    1.945020    MY_IP    SSH_HOST_IP    TCP    58890 > ssh [SYN] Seq=0 Len=0 MSS=1460 TSV=456473 TSER=0 WS=5
108    1.945936    MY_IP    SSH_HOST_IP    TCP    ssh > 58890 [SYN, ACK] Seq=0 Ack=1 Win=131070 Len=0 MSS=1460 WS=1 TSV=7519155 TSER=456473
109    1.948491    MY_IP    SSH_HOST_IP    TCP    58890 > ssh [ACK] Seq=1 Ack=1 Win=5856 Len=0 TSV=456474 TSER=7519155
110    1.968002    MY_IP    SSH_HOST_IP    SSHv2    Server Protocol: SSH-2.0-OpenSSH_4.5p1 FreeBSD-20061110
111    1.968476    MY_IP    SSH_HOST_IP    TCP    58890 > ssh [ACK] Seq=1 Ack=40 Win=5856 Len=0 TSV=456479 TSER=7519177
112    1.968489    MY_IP    SSH_HOST_IP    SSH    Client Protocol: SSH-2.0-OpenSSH_4.7
(тут wireshark пишет)
Checksum: 0x2688 [incorrect, should be 0xe39d (maybe caused by "TCP checksum offload"?)]
далее идут пакеты
113    2.169370    MY_IP   SSH_HOST_IP    SSHv2    [TCP Retransmission] Client: Unknown (46)[Unreassembled Packet [incorrect TCP checksum]]
118    2.577401    MY_IP    SSH_HOST_IP    SSHv2    [TCP Retransmission] Client: Unknown (46)
210    3.393540    MY_IP    SSH_HOST_IP    SSHv2    [TCP Retransmission] Client: Unknown (46)
271    5.025629    MY_IP    SSH_HOST_IP    SSHv2    [TCP Retransmission] Client: Unknown (46)

Когда делаю тоже самое но не свиртуальной машины - все ок