Страница 1 из 1

iptables nat между сетями

Добавлено: 2011-01-21 16:27:15
sergey_
здравствуйте
Забрел в тупик с iptables и nat, дакументации перечитал массу, может от этого совсем запутался
Суть в следующем
есть 2 VPN сервера
на первый ( server1 ), коннектимся клиентом, в туннеле поднимается сеть 10.0.0.0, серверный конец туннеля получает 10.0.0.1, клмент 10.0.0.2
добавляем правило
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j SNAT --to ВНЕШНИЙ_ИП
попадаем в инет
теперь поднимаем второй туннель, между VPN серверами, сеть 10.10.0.0, ( сетевуха одна, просто на других портах )
конец второго туннеля на server1 получает 10.10.0.1 на втором сервере 10.10.0.2
собственно затык как завернуть трафик из первого туннеля, во второй, а там на выход
все пытался сделать через SNAT, DNAT, вероятно этого не достаточно ?
извиняюсь если путано, на всякий случай схемку набросал
nat.jpg
заранее спасибо

Re: iptables nat между сетями

Добавлено: 2011-01-21 16:31:22
terminus
Тут в основном только злые БСДшники сидят - вряд ли уто с иптаблес поможет... :pardon:

Re: iptables nat между сетями

Добавлено: 2011-01-21 16:35:38
sergey_
terminus да вот я как-бы тоже в основном с фрей работаю, а тут линоксов нападало)

Re: iptables nat между сетями

Добавлено: 2011-01-23 15:48:05
Гость
На первый взгляд Вы вполне можете обойтись простым роутингом:
клиент - дефолтный 10.0.0.2
VPN1 - дефолтный 10.10.0.2
VPN2 -дефолтный 192.10.10.10
Что бы пакуеты ходили и в обратную сторону на VPN2 прописываете роутинг до внутренних сетей через10.10.0.2
SNAT нужен только на VPN2.

Re: iptables nat между сетями

Добавлено: 2011-01-23 15:50:40
Гость
И да, что бы и Вам и другим была понятна схема маршрутизации прведите вывод ip route со всех участников цепи.

Re: iptables nat между сетями

Добавлено: 2011-01-23 20:17:53
lap
Давно не настраивал нат в ипитаблесе, но когда-то оно работало в такой конфигурации:

Код: Выделить всё

# Generated by iptables-save v1.2.9 on Fri Dec 16 15:27:42 2005
*nat
:PREROUTING ACCEPT [69452822:8584988835]
:POSTROUTING ACCEPT [605487:1348561602]
:OUTPUT ACCEPT [3800118:486815822]
[2604486:148781072] -A POSTROUTING -o eth0 -j SNAT --to-source 10.1.21.175 
[737133:42699454] -A POSTROUTING -o ppp+ -j SNAT --to-source 212.1.225.235 
COMMIT
# Completed on Fri Dec 16 15:27:42 2005
ppp+ - пптпшный интерфейс через который был дефолт в тырнет ("+" потребовался из периодических глюков сети и вместо ппп0 вылезало ппп1 и т д )
eth0 - езернет в сторону провайдера (часть ресурсов была доступна через локальную сеть в обход ВПНа)
натилось все что вылетало через эти интерфейсы.

еще есть в rc.local такая запись:

Код: Выделить всё

# Enable IP_Forwarding (required for NAT)
#echo 1 > /proc/sys/net/ipv4/ip_forward
я не помню откуда я это вычитал, но оно работало, потом оно было заменено на запись в sysctl.conf

Код: Выделить всё

# Controls IP packet forwarding
net.ipv4.ip_forward = 1

Все остальное живущее в вашей части надо перенаправлять через route add -net блаблабла. нужно чтоб все знали где живут все остальные.