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
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.