URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 50004
[ Назад ]

Исходное сообщение
"NAT на интерфейсах с алиасами."

Отправлено asp , 01-Ноя-04 11:04 
eth0: real-ext-ip
eth1: 192.168.0.1/24
eth1:0 real-int-ip1/28
eth1:1 real-int-ip2/28

Включена маршрутизация и НАТ для "серой" подсети.
-A POSTROUTING -s 192.168.0.0/255.255.255.0 -j SNAT --to-source real-ext-ip

Все работает, за одним исключением: пакеты из 192.168.0.1/24 в real-int-ip1/28 и в real-int-ip2/28 ходят, минуя НАТ... Требуется, чтобы ходили через него. От безысходности пытался даже так:

-A POSTROUTING -s 192.168.0.0/255.255.255.0 -d real-int-ip1/255.255.255.240 -j  SNAT --to-source real-int-ip1
-A POSTROUTING -s 192.168.0.0/255.255.255.0 -d real-int-ip2/255.255.255.240 -j  SNAT --to-source real-int-ip2
-A POSTROUTING -s 192.168.0.0/255.255.255.0 -j SNAT --to-source real-ext-ip

Но результат один. Видимо, до таблицы POSTROUTING пакеты, идущие в eth1:0 и eth1:1 просто не доходят. Вопрос: так ли это, если так, то почему и как с этим бороться?


Содержание

Сообщения в этом обсуждении
"NAT на интерфейсах с алиасами."
Отправлено screepah , 01-Ноя-04 14:24 
покажи route -n

"NAT на интерфейсах с алиасами."
Отправлено asp , 01-Ноя-04 20:40 
>покажи route -n
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
real-int-ip1     0.0.0.0         255.255.255.240 U     0      0        0 eth1
real-int-ip2    0.0.0.0         255.255.255.240 U     0      0        0 eth1
real-ext-ip      0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.0.0   0.0.0.0         255.255.255.0   U     0      0        0 eth1
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
0.0.0.0         real-ext-gw     0.0.0.0         UG    0      0        0 eth0

"NAT на интерфейсах с алиасами."
Отправлено screepah , 02-Ноя-04 10:32 
А real-int-ip1/2 не в 192.168.0.0?
попробуй
-s 192.168.0.1 ... SNAT --to-source real-int-ip1
просто не очень понятна задача, с маршрутами вроде все ок. И 192.168.0.1 и вся сетка 192.168.0.0 должны нормально через нат real-ext-ip ходить наружу. А вот чего нужно добиться с real-int-ip? Что бы тоже через нат туда один 192.168.0.1 ходил? И зачем ему туда через нат, раз он int-ip..


"NAT на интерфейсах с алиасами."
Отправлено asp , 02-Ноя-04 11:01 
>А real-int-ip1/2 не в 192.168.0.0?
>попробуй
>-s 192.168.0.1 ... SNAT --to-source real-int-ip1
>просто не очень понятна задача, с маршрутами вроде все ок. И 192.168.0.1
>и вся сетка 192.168.0.0 должны нормально через нат real-ext-ip ходить наружу.
>А вот чего нужно добиться с real-int-ip? Что бы тоже через
>нат туда один 192.168.0.1 ходил? И зачем ему туда через нат,
>раз он int-ip..

Надо чтобы из 192.168.0.1/24 в real-int-ip1/28 и real-int-ip2/28 тоже натилось. А этого не происходит. :(


"NAT на интерфейсах с алиасами."
Отправлено screepah , 02-Ноя-04 11:22 
>Надо чтобы из 192.168.0.1/24 в real-int-ip1/28 и real-int-ip2/28 тоже натилось. А этого
>не происходит. :(

А real-int-ip в 192.168.0.0?


"NAT на интерфейсах с алиасами."
Отправлено asp , 02-Ноя-04 13:09 
>А real-int-ip в 192.168.0.0?

Как это?! На то он и реал, что не 192.
Нет, просто 192.168.0.1 висит на той же сетевой карточке, что и два реальных IPшника


"NAT на интерфейсах с алиасами."
Отправлено screepah , 02-Ноя-04 15:47 
>Как это?! На то он и реал, что не 192.
>Нет, просто 192.168.0.1 висит на той же сетевой карточке, что и два
>реальных IPшника

мм.. торможу.
может чего здесь наведет на мысль (в самом конце):
http://www.opennet.me/base/net/dnat_linux.txt.html


"NAT на интерфейсах с алиасами."
Отправлено asp , 02-Ноя-04 23:11 
>может чего здесь наведет на мысль (в самом конце):
>http://www.opennet.me/base/net/dnat_linux.txt.html

Там, где про ДНАТ? ДНАТ чего? И ДЛЯ чего? видимо, тоже торможу... :(


"NAT на интерфейсах с алиасами."
Отправлено Sampan , 03-Ноя-04 03:46 
>Все работает, за одним исключением: пакеты из 192.168.0.1/24 в real-int-ip1/28 и в real-int-ip2/28 ходят, минуя НАТ

Если я правильно понимаю, проблема в том, что клиенты из сети 192.168.0.1/24 когда обращаются к real-int-ip1/28 или real-int-ip2/28 попадают туда без преобразования адреса?

Дык, так и должно быть в этой конфигурации. Клиент не знает прямого маршрута к real-int-ip1/28, соответственно он посылает пакет шлюзу по умолчанию. В этом случае ethernet пакет содержит в IP заголовке адрес назначения real-int-ip1/28, но MAC адрес физического уровня - этого самого шлюза. Но, за счет алиасов, и у шлюза по умолчанию и у real-int-ip1/28 один и тот же МАС адрес. Вот eth1:0 real-int-ip1/28 и думает, что пакет этот к нему. Ни какого роутинга. И, тем более, ни какого NATа!

Либо ставь еще одну сетевуху для real-int-ip1/28 и real-int-ip2/28 (их можно будет на одну повесить), либо переделывай топологию.