А ничего если адреса не подряд а надерганы из одного класса C ("C", да? где
маска 24 бита)?
Дело в том что это не провайдер, а лаборатория в институсткой сети.
Стандартно у все компы в одной и той-же сетке, что не есть хороше, так что
сегметируем потихоньку. Проблема с некоторыми "продвинытыми" которые на дыбы
встали и хотят оставить за собой реальный IP (это же сокровище такое...),
вот и изворачиваюсь.

Если внутренная сеть сегментирована, и внешние адреса разбросаны по сегментам в достаточно призвольном порядке, так, что их не удаётся объединить в подсети, то возникают сложности. В linux можно явно указть от какого адреса в заданном напрвлении слать пакеты (router_ip и ext_ip могут быть в разных подсетях: ip route add default via router_ip src ext_ip), но в windows такое врядли возможно. Так что если операционка на хостах, к которым требуется доступ извне, недостаточно продвинута, то проще реализовать вариант с NAT'ом

Второй вариант - прозрачный 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

Т.е. все реальные IP принадлежат рутеру, сидят на наружном интерфейсе, но
сам он пользуется только одним, а остальные передает внутырь, так?

Никуда адреса "сажать" не нужно, ни на роутере, ни на хосте в локальной сети - достаточно прописать iptables-правила для каждой пары адресов как я продемонстрировал выше. В результате при входе на внешний интерфейс роутера адрес назначения ext_ip будет переписан в int_ip (отработает DNAT) и, если это позволяют правила в FORWARD, пакет будет отправлен в локалку в соответсвии с маршрутизацией к int_ip. Таким образом, локальный хост будет доступен для Сети. Второе правило (с SNAT) даст аналогичный эффект когда оригинатором соединения будет локальный хост - адрес int_ip при выходе наружу перепишется в ext_ip - в результате Сеть будет доступна для локального хоста.

Я так думаю, маверное можно скомбинировать. Чтоб каждый адрес существовал 2
раза, один на наружноном интерфейся (рутера) а другой на внутреннем (рутера
или киента), Между каждой парой мостик NAT'ом, и вручную прописать таблицы
маршрутизации. Дело?

Я не совсем понял что вы написали. Наверное, потому что вы не совсем поняли что написал я.

--
Excuse the nuclear fallout, but my finger slipped.

Ответить