Редирект белого IP за NAT (на машине(fedora 10) с несколькими провайдерами)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС для молодых и начинающих системных администраторов.

Модераторы: SLEDopit, Модераторы разделов

joohny
Сообщения: 23

Редирект белого IP за NAT

Сообщение joohny »

такая конфигурация
3 сетевые карты:
eth0 - провайдер 1
eth1 - провайдер 2
eth2 - NAT

так поднимается интерфейс с NAT и роутинг включается

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

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
modprobe 8021q
vconfig set_name_type VLAN_PLUS_VID_NO_PAD
ifconfig eth2 down
ifconfig eth2 0.0.0.0 up


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

vconfig add eth2 2
ifconfig vlan2 192.168.2.1 broadcast 192.168.2.255 netmask 255.255.255.0 up
vconfig add eth2 3
ifconfig vlan3 192.168.3.1 broadcast 192.168.3.255 netmask 255.255.255.0 up
....


ип адреса присваиваются статически на eth0 и eth1
допустим так
1.1.1.2
2.2.2.2
соответственно шлюзы для сетей будут
1.1.1.1
2.2.2.1

работа(переключение) через разных провайдеров выгляди так

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

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
route del -net 0.0.0.0 netmask 0.0.0.0 gw 2.2.2.1 eth1
route add -net 0.0.0.0 netmask 0.0.0.0 gw 1.1.1.1 eth0



i

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

ptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
route del -net 0.0.0.0 netmask 0.0.0.0 gw 1.1.1.1 eth0
route add -net 0.0.0.0 netmask 0.0.0.0 gw 2.2.2.1 eth1


провайдер 1, то есть eth0 - по-умолчанию, второй - резерв с ручным переключением!

А теперь назрела задачка такого плана:
для интерфейса vlan10, на адрес 192.168.10.2 "подать" белый ip адрес 2.2.2.3
и чтобы соответственно с этого адреса все шло через шлюз 2.2.2.1

знаю, что можно, но пока для меня сложно))) да и не хочется экспериментировать на рабочей системе!
Наверняка кто то сталкивался и сможет подсказать или дать ссылочки на почитать
А да, забыл!
я так понимаю нужно будет поднять аллиас на eth1, в виде eth1:1 с адресом 2.2.2.3 соответственно!
Спасибо сказали:
Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

Re: Редирект белого IP за NAT

Сообщение Bluetooth »

joohny писал(а):
25.01.2010 12:10
я так понимаю нужно будет поднять аллиас на eth1, в виде eth1:1 с адресом 2.2.2.3 соответственно!

Ну, не обязательно. Можно просто натом пробрасывать нужные порты(или все) на целевой компьютер.
как это реализовано у меня:
-A PREROUTING -p tcp -m tcp -i eth0 -d ! 192.168.0.0/16 --dport 80 -j DNAT --to-destination 192.168.5.1:3128

Это правило редиректит все пакеты, идущие на 80й порт, на прозрачный прокси.
в Вашем случае правило будет типа:
-A PREROUTING -p tcp -m tcp -i Ваш_внешний_интерфейс --dport 80 -j DNAT --to-destination адрес_целевого_компьютера:порт
Если нужно все пакеты редиректить, то посмотрите в man iptables, это аналогично делается.
Спасибо сказали:
pelmen
Сообщения: 1268
ОС: debian

Re: Редирект белого IP за NAT

Сообщение pelmen »

joohny писал(а):
25.01.2010 12:10
ип адреса присваиваются статически на eth0 и eth1
допустим так
1.1.1.2
2.2.2.2
...
А теперь назрела задачка такого плана:
для интерфейса vlan10, на адрес 192.168.10.2 "подать" белый ip адрес 2.2.2.3
...
я так понимаю нужно будет поднять аллиас на eth1, в виде eth1:1 с адресом 2.2.2.3 соответственно!
Bluetooth писал(а):
27.01.2010 18:13
Ну, не обязательно.
А по-моему обязательно. Ему ведь нужно именно 2.2.2.3, а не "просто проброс портов"
Спасибо сказали:
joohny
Сообщения: 23

Re: Редирект белого IP за NAT

Сообщение joohny »

Все решили следующие команды!

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

ifconfig eth1:1 2.2.2.3 netmask 255.255.255.240 up
iptables -t nat -A PREROUTING --dst 2.2.2.3 -j DNAT --to-destination 192.168.10.2


Только теперь получается, так как провайдер 1 - по-умолчанию(основной), то все уходит через него, а для 192.168.10.2 все приходит через провайдера 2!
Как бы так, чтобы для подсети 192.168.10.2 все уходило через шлюз 2.2.2.1??
Знаю, что в манах к iptables нужно это курить, но что-то пока не вкуриваю.
Спасибо сказали:
pelmen
Сообщения: 1268
ОС: debian

Re: Редирект белого IP за NAT

Сообщение pelmen »

Это, товарисчь, вряд ли у вас выйдет. Т.к. клиенты, обратившиеся к твоему серверу по адресу 2.2.2.3 должны получить ответ так же от 2.2.2.3. А если ответ у тебя пойдет через 1.1.1.1, то они его просто отбросят, т.к. от него ничего не ждут. А если ты принудительно будешь менять адрес отправителя с помощью iptables, то возможен вариант, когда твой шлюз 1.1.1.1 его не пропустит, т.к. не обслуживает сеть 2.2.2.0/24
И выход, получается, только один: переделать, чтоб коннектились на 1.1.1.3, вместо 2.2.2.3
Заодно еще добавлю, а то глаза режет:

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

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
лучше сделать

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

iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 1.1.1.2
так по-идее должно работать быстрее.
Спасибо сказали:
Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

Re: Редирект белого IP за NAT

Сообщение Bluetooth »

pelmen писал(а):
27.01.2010 18:47
А по-моему обязательно. Ему ведь нужно именно 2.2.2.3, а не "просто проброс портов"

Как выяснилос, я стелепатничал правильно, и проброс портов подошел (:
Как бы так, чтобы для подсети 192.168.10.2 все уходило через шлюз 2.2.2.1??
Для подсети 192.168.10.0/24 или для хоста 192.168.10.2?
В любом случае читайте:
http://linux-bsd.in.ua/iptables-for-newbie...z-neskolko.html
Спасибо сказали:
pelmen
Сообщения: 1268
ОС: debian

Re: Редирект белого IP за NAT

Сообщение pelmen »

Либо я чего-то недопонял, либо одно из двух. Он-таки сделал алиас на сетевой карте. Разве нет?
Спасибо сказали:
Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

Re: Редирект белого IP за NAT

Сообщение Bluetooth »

pelmen писал(а):
27.01.2010 22:19
Либо я чего-то недопонял, либо одно из двух. Он-таки сделал алиас на сетевой карте. Разве нет?

Нет, это я проглядел. Точнее, недостаточно точно читал исходные данные. (:
Спасибо сказали: