Как настроить Ubuntu 14.04 как шлюз с помощью 1 NIC с 2 IP-адресами на различных подсетях?

У меня есть сервер Ubuntu 14.04 с одним NIC. MAC-адрес на этом NIC присвоен (шлюзом) один IP (X.X.X.100) в одной подсети (X.X.X.0/24), при этом шлюз находится в той же подсети (X.X.X.1) и диапазон IP от совершенно другой подсети (Y.Y.Y.0/28).

Я настроил сервер и с X.X.X.100 и с Y.Y.Y.1 в том же интерфейсе (eth0), и сервер может связаться и связаться остальной частью Интернета

У меня есть некоторые виртуальные машины, которые используют IP-адреса от второй подсети. Они могут связаться с хостом на обоих его IP-адресах, но ничем ином. Я предполагаю, что они должны использовать второй IP-адрес Y.Y.Y.1 хоста в качестве шлюза, но как я настраиваю хост так, чтобы все запросы к или от подсети Y.Y.Y.0/28 были направлены через шлюз X.X.X.1?

Насколько я знаю, я не могу просто развернуть сетевую маску, поскольку это могло привести к неспособности связаться с другими серверами в сети.

Вот сервер /etc/network/interfaces

auto lo
iface lo inet loopback

auto  eth0

iface eth0 inet static
  address   X.X.X.100
  netmask   255.255.255.0
  gateway   X.X.X.1
  dns-nameservers 8.8.8.8 8.8.4.4

iface eth0 inet static
  address   Y.Y.Y.1
  netmask   255.255.255.240

В /etc/sysctl.conf Я включил эту строку:

net.ipv4.ip_forward=1

VMs используют Y.Y.Y.n (где n> 1) как IP-адрес и Y.Y.Y.1 как шлюз.

ОБНОВЛЕНИЕ:

Я думаю, что VMs не может найти MAC-адрес шлюза ISP X.X.X.1:

$ arp -an
? (Y.Y.Y.1) at c8:60:00:5e:bd:e0 [ether] on eth0
? (X.X.X.1) at <incomplete> on eth0

Однако странно они иногда могут...

$ arp -an
? (X.X.X.1) at c8:60:00:5e:bd:e0 [ether] on eth0
? (Y.Y.Y.1) at cc:e1:7f:07:e0:af [ether] on eth0

Когда это происходит, все на самом деле работает! Я могу получить доступ к Интернету от VMs и получить доступ к ним из Интернета с помощью их адреса Y.Y.Y.n. Но это не работает все время - это "забывает" MAC-адрес Y.Y.Y.1 и становится недоступным.

Я на самом деле удивлен, что это перечисляет Y.Y.Y.1 в списке arp вообще - я думал, что это было только для устройств в той же подсети. Моя цель состояла в том, чтобы сделать их просто использовать хост в качестве адреса шлюза (Y.Y.Y.1) вместо этого и избежать проблемы путем разрешения хосту всей коммуникации на X.X.X.0/24.

Действительно ли моя конфигурация является разумной?

Кто-либо еще использует эту конфигурацию?

Чем возможные причины могли там быть для странного "забвения"?

1
задан 21 October 2015 в 10:00

0 ответов

Другие вопросы по тегам:

Похожие вопросы: