У меня есть сервер Ubuntu 12.04 с 4 интерфейсами Ethernet, 2 из которых подключаются к неконфигурируемым сетевым устройствам на eth5 и eth6. Каждое устройство может быть достигнуто только на 192.168.100.1 через Telnet. Я верю, что NAT может предоставить мне доступ к обоим устройствам. Другие решения приветствуются.

Я хотел бы сделать что-то вроде этого: telnet 192.168.1.100 и перевести его на 192.168.100.1 на eth5. Точно так же я хотел бы telnet 192.168.1.101 и сделать его перевод в 192.168.100.1 на eth6. Таким образом, у меня есть своего рода IP-псевдоним, который использует определенные интерфейсы Ethernet. Без такого решения у меня, очевидно, будет конфликт IP.

Большинство уроков NAT, которые я вижу, имеют отношение к совместному использованию интернет-соединения. Я пытаюсь сделать что-то намного проще, но, казалось бы, без документов.

Какие-нибудь советы?

1 ответ1

0

NAT (или преобразование сетевых адресов) обрабатывает все «входящие» IP- адреса как один «исходящий» IP (маскировка IP-адресов), чтобы позволить нескольким локальным устройствам подключаться к одному и тому же исходящему соединению (например, маршрутизатор Wi-Fi, подключенный к кабельному модему, имеет NAT (и возможно, DHCP) включен, чтобы позволить устройствам подключаться к Интернету через один IP-адрес, назначенный вам через вашего интернет-провайдера).

То, о чем вы просите (насколько я могу догадаться), - это псевдоним IP, это позволяет вам иметь один физический интерфейс (скажем, eth0) и «назначать» несколько IP-адресов.

Например, допустим, у вас есть файл конфигурации /etc/sysconfig/network-scripts/eth0 со следующим:

DEVICE=eth0
IPADDR=192.168.1.100
NETMASK=255.255.255.0
NETWORK=192.168.1.0
BROADCAST=192.168.1.255
ONBOOT=yes
NAME="192.168.1.100 (eth0)"
BOOTPROTO=none
USERCTL=no

Этот файл конфигурации назначит IP-адрес 192.168.1.100 устройству eth0 . Таким образом, с другой машины вы можете пропинговать 192.168.1.100, и она перейдет на устройство eth0 вашей машины. Если вы хотите, чтобы eth0 также «видел» трафик из сети 10.0.0.0 не добавляя в смесь маршрутизатор или iptables/PF, вы можете присвоить IP-адрес интерфейсу eth0 , выполнив следующие действия:

создайте файл устройства, к которому вы хотите добавить псевдоним, в нашем случае это конфигурационный файл eth0 , но добавьте :X (где X - номер псевдонима, который вы хотите назначить), пример: /etc/sysconfig/network-scripts/eth0:1 . Этот файл будет содержать информацию о псевдониме, которую вы хотите добавить, например:

DEVICE=eth0:1
IPADDR=10.0.0.100
NETMASK=255.255.255.0
NETWORK=10.0.0.0
BROADCAST=10.0.0.255
ONBOOT=yes
NAME="10.0.0.100 (eth0:1)"
BOOTPROTO=none
USERCTL=no

Добавление этого файла конфигурации позволит вам общаться как с 192.168.1.100 и с 10.0.0.100 через физическое устройство eth0 .

Если, с другой стороны, вы хотите, чтобы трафик с одного физического интерфейса перенаправлялся на другой физический интерфейс, вам придется подумать об использовании iptables для этого.

Исходя из вашего вопроса, вы спрашиваете об отправке трафика с двух разных IP-адресов (192.168.1.100 и 192.168.1.101) на два отдельных сетевых адаптера (eth5 и eth6), которые, кажется, используют один и тот же IP (192.168.100.1). Я не уверен, как настроены ваши eth5 и eth6 в настоящее время, но если они связаны тем, что они «делят» один и тот же IP-адрес, вы, возможно, не сможете добиться того, чего хотите с помощью псевдонимов IP-адресов, и вместо этого вам следует проверить iptables.

Я надеюсь, что это может добавить некоторую ясность.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .