Я настраиваю Ubuntu Linux для работы в качестве маршрутизатора. Это довольно обычная настройка с NAT с использованием IPTables - и у меня все работает нормально.
Я собираюсь запустить это в производство, и до сих пор для тестирования я помещал несколько IP-адресов WAN в строфы в файле / etc / network / interfaces:
# WAN Interface
iface eth0 inet static
address 123.123.456.345
netmask 255.255....
network ...
broadcast ...
gateway ...
iface eth0:1 inet static
address 123.456.789.123
netmask ...
iface eth0:2 inet static ...
Проблема, которую я обнаружил, заключается в том, что у нас есть около 20 IP-адресов WAN, которые этот ящик Linux должен выполнять NAT прямо сейчас, а это означает, что мне нужно назначить все 20 этих IP-адресов на этот ящик, которые затем можно преобразовать в правильный частный IP.
В том-то и дело - файл интерфейсов неуклонно растет в размерах, и я начинаю задаваться вопросом, не станет ли им трудно управлять в ближайшем будущем. Но приведенный выше пример - это в значительной степени единственный способ, которым я когда-либо делал это, и, безусловно, самый распространенный пример, который я могу найти при поиске.
Единственный другой метод, который я нашел и рассмотрел, здесь: http://www.shorewall.net/Shorewall_and_Aliased_Interfaces.html
# Internet interface
auto eth0
iface eth0 inet static
address 206.124.146.176
netmask 255.255.255.0
gateway 206.124.146.254
up ip addr add 206.124.146.178/24 brd 206.124.146.255 dev eth0 label eth0:0
Есть ли способ организовать это, что кто-то может порекомендовать для большого количества псевдонимов IP? И почему вы выбрали именно этот метод?
РЕДАКТИРОВАТЬ
Как было предложено в двух ответах, не используйте NAT, просто переведите трафик через брандмауэр и назначьте IP-адреса непосредственно на сервере. Я должен добавить, что мы уже используем этот метод в производстве, но решили отказаться от него.
Мы хотим сохранить наше общедоступное адресное пространство, многим устройствам или виртуальным машинам требуется только один открытый общедоступный порт, и никакой другой общедоступной службы. По этой причине мы хотим иметь возможность отображать порты на одном общедоступном IP-адресе для разделения внутренних устройств.
Мы продвигаемся к инфраструктуре VPN, которая позволяет клиентам подключаться к VPN и получать доступ к выделенной им подсети / VLAN и, следовательно, иметь доступ к своим серверам.
Сети VLAN с мостовой конфигурацией межсетевого экрана оказались проблематичными. Поскольку пакеты попадают в наш вышестоящий провайдер, все еще помеченные, пакеты отклоняются.
Я должен понимать, что это не совсем настройка NAT 1: 1. Просто прямо сейчас у всех устройств есть свой собственный IP-адрес WAN - так что это лучшее описание того, к чему мы должны двигаться прямо сейчас.
Многим устройствам по-прежнему потребуется собственный IP-адрес, и в этих случаях мы выполняем NAT и разрешаем порты индивидуально, так что это похоже на NAT 1-1 с брандмауэром. Однако в некоторых случаях устройствам вообще не нужен WAN IP.
Спасибо!
Сделайте это правильно - направьте диапазон адресов на ваш брандмауэр и поместите IP-адреса там, где они должны быть, на целевых устройствах.
Вместо того, чтобы использовать NAT для такого количества адресов, почему бы вам не использовать брандмауэр для соединения двух сетей и не назначить реальные IP-адреса непосредственно рассматриваемым системам. Вы все еще можете фильтровать трафик для защиты хостов, и вы можете уменьшить нагрузку (не то чтобы это было который скорее всего) на брандмауэре, так как не нужно поддерживать все эти NAT.
Найдите linux bridging, brctl и ebtables.