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 просто не доходят. Вопрос: так ли это, если так, то почему и как с этим бороться?
покажи route -n
>покажи 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
А 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..
>А 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 тоже натилось. А этого не происходит. :(
>Надо чтобы из 192.168.0.1/24 в real-int-ip1/28 и real-int-ip2/28 тоже натилось. А этого
>не происходит. :(А real-int-ip в 192.168.0.0?
>А real-int-ip в 192.168.0.0?Как это?! На то он и реал, что не 192.
Нет, просто 192.168.0.1 висит на той же сетевой карточке, что и два реальных IPшника
>Как это?! На то он и реал, что не 192.
>Нет, просто 192.168.0.1 висит на той же сетевой карточке, что и два
>реальных IPшникамм.. торможу.
может чего здесь наведет на мысль (в самом конце):
http://www.opennet.me/base/net/dnat_linux.txt.html
>может чего здесь наведет на мысль (в самом конце):
>http://www.opennet.me/base/net/dnat_linux.txt.htmlТам, где про ДНАТ? ДНАТ чего? И ДЛЯ чего? видимо, тоже торможу... :(
>Все работает, за одним исключением: пакеты из 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 (их можно будет на одну повесить), либо переделывай топологию.