Опять iptables внутри виртуального сервера: не работает NAT [message #15227] |
Mon, 23 July 2007 10:15 ![Go to next message Go to next message](/theme/ovz3/images/down.png) |
eMax
Messages: 4 Registered: May 2007 Location: Russia
|
Junior Member |
|
|
На физическом сервере (CentOS 4.4 x86_64) запущено несколько виртуальных, в том числе виртуальный шлюз (101), который должен пропускать весь трафик через себя на остальные сервера. У него есть 2 сетевых интерфейса: venet0 (виртуальный для связи между виртуальными серверами) с адресом из локальной сети (172.16.0.a) и физический, с реальным адресом a.b.c.98.
С этого виртуального сервера (101) нормально пингуются и локальные и внешние адреса (172.16.0.х или например ya.ru). А вот iptables работать не хочет:
# ifconfig
eth1 Link encap:Ethernet HWaddr 00:00:00:00:00:03
inet addr:a.b.c.98 Bcast:a.b.c.111 Mask:255.255.255.240
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:90082 errors:0 dropped:0 overruns:0 frame:0
TX packets:2424 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:6803187 (6.4 MiB) TX bytes:209890 (204.9 KiB)
Base address:0x3000 Memory:b8920000-b8940000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:10 errors:0 dropped:0 overruns:0 frame:0
TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1356 (1.3 KiB) TX bytes:1356 (1.3 KiB)
venet0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:127.0.0.1 P-t-P:127.0.0.1 Bcast:0.0.0.0 Mask:255.255.255.255
UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1
RX packets:1395 errors:0 dropped:0 overruns:0 frame:0
TX packets:1429 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:76831 (75.0 KiB) TX bytes:438334 (428.0 KiB)
venet0:0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:172.16.0.2 P-t-P:172.16.0.2 Bcast:172.16.0.2 Mask:255.255.255.255
UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1
# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
a.b.c.96 * 255.255.255.240 U 0 0 0 eth1
172.16.0.0 * 255.255.255.0 U 0 0 0 venet0
192.0.2.0 * 255.255.255.0 U 0 0 0 venet0
169.254.0.0 * 255.255.0.0 U 0 0 0 venet0
default a.b.c.97 0.0.0.0 UG 0 0 0 eth1
Для упрощения ситуации я использую только те правила iptables, которые непосредственно используются при тестировании:
# iptables -t nat -A PREROUTING -p tcp -d a.b.c.98 --dport 3389 -i eth1 -j DNAT --to-destination 172.16.0.x:3389
# iptables -t nat -A POSTROUTING -s 172.16.0.2 -o eth1 -j SNAT --to a.b.c.98
А вот что происходит дальше:
# tcpdump -vv
tcpdump: WARNING: arptype 65535 not supported by libpcap - falling back to cooked socket
tcpdump: listening on venet0, link-type LINUX_SLL (Linux cooked), capture size 96 bytes
12:51:02.945767 IP (tos 0x0, ttl 114, id 50348, offset 0, flags [DF], proto 6, length: 48) 195.90.159.66.2886 > 172.16.0.x.3389: S [tcp sum ok] 319135398:319135398(0) win 64240
12:51:05.915276 IP (tos 0x0, ttl 114, id 51298, offset 0, flags [DF], proto 6, length: 48) 195.90.159.66.2886 > 172.16.0.x.3389: S [tcp sum ok] 319135398:319135398(0) win 64240
12:51:11.951111 IP (tos 0x0, ttl 114, id 53196, offset 0, flags [DF], proto 6, length: 48) 195.90.159.66.2886 > 172.16.0.x.3389: S [tcp sum ok] 319135398:319135398(0) win 64240
Подскажите куда копать????
|
|
|
|
|
Re: Опять iptables внутри виртуального сервера: не работает [message #15344 is a reply to message #15262] |
Fri, 27 July 2007 10:04 ![Go to previous message Go to previous message](/theme/ovz3/images/up.png) |
khorenko
Messages: 533 Registered: January 2006 Location: Moscow, Russia
|
Senior Member |
|
|
Может, использование veth вместо venet на этом виртуальном сервере поможет?
P.S. но в этом случае при миграции снова нужны будут дополнительные перенастройки.
If your problem is solved - please, report it!
It's even more important than reporting the problem itself...
|
|
|