LINUX.ORG.RU
Форум — Admin  

iptables + NAT + route что не так?


0

0
Братцы! Выручайте!

RedHat 7.1 (kernel 2.4.18)
iptables 1.2.5
Local_IF 10.1.1.0/24 eth0
Internet_IF 11.11.11.66
real_ip_pool 11.11.11.80/28 (16 адресов)

Когда я в iptables делаю MASQERADE, то всё работает, но мне надо сделать FULL NAT (например чтобы 10.1.1.64 лазил наружу как 11.11.11.82).
я забульбенил такие две строчки:
iptables -t nat -A POSTROUTING -o eth2 -s 10.1.1.64 -j SNAT --to-source 11.11.11.82
iptables -t nat -A PREROUTING -i eth2 -d 11.11.11.82 -j DNAT --to-destination 10.1.1.64
И нифига не происходит... не NAT`ится
ни ping ни чего не пролазит.
Есть серьёзные подозрения на route
вот что мне выдаёт команда route:
Destination Gateway Genmask Flags Metric Ref Use Iface
11.11.11.64 0.0.0.0 255.255.255.240 U 0 0 0 eth2
10.1.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 11.11.11.65 0.0.0.0 UG 0 0 0 eth2

Я в этом списке не вижу моей сети 11.11.11.80/28
Что рыть??
★
Internet_IF 11.11.11.66 real_ip_pool 11.11.11.80/28 (16 адресов)

это же разные 2 подсетки , поясняю : сеть 11.11.11.66 наверняка состоит из 16 апишников - с 64 по 79 , 79 понятно броадкаст .Сеть 11.11.11.80 также состоит из 16 апишников начиная с 80 заканчивая 75 , 75 - броадкаст . Вот первый вопрос - они (эти 2 подсетки ) висят на одном интерфейсе ??? Если да то спрашивается - зачем ? Второй вопрос - в таблице ROUTE указан шлюз 11.11.11.65 , следовательно с интерфейса 11.11.11.66 должно все пинговатся . Т.е. пинг должен проходить с самого сервера . Теперь - если ты запускаешь маскарадинг , то все пакеты которые пропишешь пойдут в интернет от 11.11.11.66 , и никак иначе . И потом , чем отличается маскарадинг от фул нат ??? Я например незнаю ... просто фсе функии НАТ в линуксе называются маскарадинг . Дальше по поводу экзотики , допустим у тебя и в прямь 2 подсетки на одном интерфейсе , но нигде не сказано у тебя в таблице роутинга чтоб она роутилась куданить - т.е. ее у тебя нет ваще , либо ты явно чтото напутал . У тебя нет сети 11.11.11.80 , так что проверяй ifconfig что выдаст , и напиши подробнее где какой на каком интерфейсе апишник .

anonymous
()
Всё пояснилось!
Всё дело в том, что сеть 11.11.11.66 и впрямь состоит из 16 апишников - с 64 по 79 И это у провайдера подсеть из кучи клиентских маршрутизаторов, при этом 65 адрес - есть рутер провайдера, а 66 мой интерфейс(то же клиетский). А сеть 11.11.11.80/28 это выделенный мне диапазон и у меня не было ни одного задействованного из моей сети и не было никакого роутинга на сеть 11.11.11.80.
вопрос решил просто (может и не изящно) поднял интерфейс с 11.11.11.81 Айпишником и появился роутинг в мою подсеть.....
А когда до этого делал
route add -net 11.11.11.80 dev ???(тут вот и не знал что написать в качестве интерфейса) в таблицу добавлялось, но реально не маршрутизировалось, какой бы я интерфейс не добавил.

Спасибо что откликнулись...
Извините если написал непонятно!
pimbler ★
() автор топика
DNAT делать не обязательно, только SNAT (DNAT например надо если ты хочеш пробросить порт снаружи на внутреннюю машину)
У тебя на eth2 есть алиас 11.11.11.82 (форвардинг разрешен, в iptables рзрешены forward для этого адреса)
покажи свои интерфейсы
если чего пишы:
mailto:skor@orbita.dp.ua
Skor78 ★
()
Вы не можете добавлять комментарии в эту тему: топик перемещен в архив.