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

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
sergey_
рядовой
Сообщения: 15
Зарегистрирован: 2010-01-28 18:28:34

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

Непрочитанное сообщение sergey_ » 2011-01-21 16:27:15

здравствуйте
Забрел в тупик с 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
заранее спасибо

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

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

Непрочитанное сообщение terminus » 2011-01-21 16:31:22

Тут в основном только злые БСДшники сидят - вряд ли уто с иптаблес поможет... :pardon:
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

sergey_
рядовой
Сообщения: 15
Зарегистрирован: 2010-01-28 18:28:34

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

Непрочитанное сообщение sergey_ » 2011-01-21 16:35:38

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 со всех участников цепи.

lap
лейтенант
Сообщения: 608
Зарегистрирован: 2010-08-13 23:39:29
Откуда: Moscow
Контактная информация:

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

Непрочитанное сообщение lap » 2011-01-23 20:17:53

Давно не настраивал нат в ипитаблесе, но когда-то оно работало в такой конфигурации:

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

# 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 блаблабла. нужно чтоб все знали где живут все остальные.
Не сломалось - не чини.