Alexander wrote:
Посоветуйте плз.
Есть сеть, за NAT, некоторые компы с реальными адресами.
Хотелось бы чтоб они нормально в инет ходили (и из инета в них ходили), и с
компами в приватном ранге общались.
Есть два варианта. Первый - обычная маршрутизация: внешние адреса
вешаются алиасом на внутренних хостах. Для того, чтобы хост ходил наружу
от внешнего адреса необходимо чтобы адрес шлюза был в той же сети, что
и этот адрес (в linux, конечно, можно и без этого вывернуться, но в
общем случае это так). Поэтому один из адресов придётся повесить алиасом
на внутреннем интерфейсе роутера. Тут могут возникнуть некоторые
тонкости с назначением сетевых масок и управлением маршрутизацией и их
можно решать разными способами. Я предлагаю назначить алиасу маску
внешней сети, а внешнему интерфейсу - маску /32. Возможно (в связи с
"переползанием" внешней сети вовнутрь) потребуется прописать прямую
маршрутизацию к роутеру провайдера через roure add isp_ip dev ...
Второй вариант - прозрачный NAT внутрь/наружу:
iptables -A PREROUTING -t nat -d ext_ip -j DNAT --to-destination int_ip
iptables -A POSTROUTING -t nat -s int_ip -j SNAT --to-source ext_ip
P.S. И не забудте прописать соответствующие правила в FORWARD, если там
по умолчанию не ACCEPT.
--
BOFH excuse #437: crop circles in the corn shell