Не получается сделать тривиальную вещь. Помогите.
Описание ситуации:
Есть локальная сеть 192.х.х.0
Есть глобальная сеть 172.y.y.0
Есть машина с Slackware (2.2.19) между ними. На этой машине есть соответственно два интерфейса. Один 192.x.x.1 Другой 172.y.y.1 Машины из локальной сети (ряд машин) должны быть представлены во внешней, каждая со своим адресом. Это важно. Сейчас у меня настроен маскарад, посредством ipchains, но это не устраивает. Нужен nat. Пытаюсь делать
root# ip route add prio 100 nat 172.y.y.y1 via 192.x.x.x1
root# ip rule add prio 100 from 192.x.x.x1 nat 172.y.y.y1
где x1 внутренний адрес машины, а y1 соответствующий ему внешний.
Ничего не работает. Внешние адреса я не пингую даже с роутера (ret=-1)
Но зато пингую с той станции, которая выходит через маскарад.
Полностью от ipchains отказаться тоже нельзя, так как в сети используется удаленное администрирование, и хотелось бы чтобы эти порты были прикрыты снаружи.
Надеюсь я достаточно полно описал ситуацию и мне помогут.
Спасибо.
Самое лучшее - перейти на ядро 2.4.х
Можно, даже, не менять дистрибутив. Просто придется обновить modutils и установить iptablesА вот потом можно делать все, что тебе требуется. Машины из внутренней сети выходят в Интернет через DNAT. Для хостов из внутренней сети, которым нужно торчать в инете организуется SNAT. Плюс гибкость, мощность и функциональность настроек фильтрации у iptables существенно выше чем в ipchains
Не пожалей пару дней, разберись с iptables. Это круто!