Здравствуйте!

Подскажите как правильно реализовать проброс или накидайте куда подумать.

Есть 2 сети:

lan1 - 10.20.20.0/24 gw 10.20.20.1

lan2 - 10.0.0.0/22 gw 10.0.0.1

Собрал между ними машину на debian с 2-мя сетевыми картами:

eth0 - 10.20.20.71/24 gw 10.20.20.1

eth1 - 10.0.0.71/22 gw 10.0.0.1

/etc/network/interfaces:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static

address 10.20.20.71
netmask 255.255.255.0
gateway 10.20.20.1
post-up ip rule add from 10.20.20.1 table table1
post-up ip route add 10.20.20.0/24 dev eth0 src 10.20.20.71 table table1
post-up ip route add default via 10.20.20.1 dev eth0 table table1

auto eth1
iface eth1 inet static
address 10.0.0.71
netmask 255.255.252.0
gateway 10.0.0.1
post-up ip rule add from 10.0.0.71 table table2
post-up ip route add 10.0.0.0/22 dev eth1 src 10.0.0.71 table table2
post-up ip route add default via 10.0.0.1 dev eth1 table table2

Нужно:

Чтоб машины между сетями общались через посредника, например так:

10.20.20.101->10.20.20.71:2222->masquerade->10.0.0.71->10.0.0.100:3389

Пробовал:

вариант1:

iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -d 10.20.20.71 --dport 2222 -j DNAT --to-destination 10.0.0.100:3389
iptables -t nat -A POSTROUTING -p tcp -s 10.0.0.100 --sport 3389 -j SNAT --to-source 10.20.20.71:2222

При такой настройке на конечной машине wireshark показывает пакеты из сети 10.20.20.101->10.0.0.100 (ненужно)

вариант2:

iptables -t nat -A PREROUTING -p tcp -d 10.20.20.71 --dport 2222 -j DNAT --to-destination 10.0.0.100:3389
iptables -t nat -A POSTROUTING -o eth1-j MASQUERADE

Лучше, на конечной машине wireshark показывает пакеты из сети 10.0.0.71->10.0.0.100 , но ответ не уходит и соответственно соединение не устанавливается.

Вопросы:

- Может ли такое linux с iptables или нужна freebsd с ipfw?








 , ,






URL записи