LINUX.ORG.RU
ФорумAdmin

NAT через 2-й (не дефолтный) интерфейс


0

0

На сервере два внешних интерфейса, на одном route add default, а через другой система отвечает с помощью iproute2. И когда потребовалось выпустить наружу машину из внутренней сетки с помощью iptables -t nat -A POSTROUTING ..., то оказалось что эта команда работает только через интерфейс дефолтного маршрута. Вопрос -

Можно ли это обойти? Если да - то как?

SY Const

> iptables -t nat -A POSTROUTING ..., то оказалось что эта команда работает только через интерфейс дефолтного маршрута

Это как так оказалось?????

Наверное потомучто в команде было написно -o ethX

zhiltsov
()

>система отвечает с помощью iproute2
Кому она отвечает и на что?

Как я понимаю, вам надо использовать другой канал для трафика от определённой машины во внутренней сети?
Читайте про ip rule. http://www.opennet.ru/docs/RUS/LARTC/c322.html#SIMPLESOURCEPOLICYROUTING

Кстати, таблица маршрутизации - она одна на всех:
route add default IP
и
ip route add devault via IP
- одно и то же.

markevichus ★★★
()
Ответ на: комментарий от zhiltsov

Да, было -o eth2 (в смысле - через карту недефолтного маршрута).

Система такая:

eth0 - внутр. сетка

eth1 - внешний дефолтный маршрут и -t nat для ряда машин

eth2 - 2-й внешний маршрут (2-й почтовый адрес и т.д.) При падении первого маршрута второй становится дефолтным.

-o eth1 работает, а -o eth2 нет

А вообще можно ли обойтись без iproute2, использовать только iptables и сделать всю систему поизящней?

constrn
() автор топика
Ответ на: комментарий от markevichus

>>система отвечает с помощью iproute2

>Кому она отвечает и на что?

Всем, кто обращается извне на адрес этой карты.

За ссылку спасибо.

constrn
() автор топика
Ответ на: комментарий от constrn

>А вообще можно ли обойтись без iproute2, использовать только iptables и сделать всю систему поизящней?
iptables - файрволл, он не рулит таблицей маршрутизации.

Поизящней:
echo "200 provider2" >> /etc/iproute2/rt_tables # делается, чтобы ассоциировать номер таблицы (не путайте с таблице маршрутизации) с именем
ip rule add from $IPS table provider2 # можно написать ...table 200
ip route add default via $PROVIDER2_GATEWAY_IP_

$IPS - хосты из внутренней сети, которых надо рулить через второй канал.

markevichus ★★★
()
Ответ на: комментарий от markevichus

Спасибо. На неделе попробую - напишу.

constrn
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.