Назад | Перейти на главную страницу

Назначьте частный IP через DHCP + публичный IP

Я бы хотел, чтобы моя виртуальная машина Ubuntu имела как частный, так и общедоступный IP. Частный IP-адрес должен быть предоставлен моим DHCP-сервером.

В настоящее время я пробую это:

auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet static
address 109.68.162.166
netmask 255.255.255.240
network 109.68.162.160
broadcast 109.68.162.175
gateway 109.68.162.174

Проблема в том, что я могу пинговать только частный IP-адрес, а не публичный. Когда я выключаю eth0, я могу начать пинговать публичный IP-адрес. Получается, что DHCP каким-то образом мешает моему общедоступному IP-адресу работать правильно?

ip route показывает:

default via 192.168.168.254 dev eth0
default via 109.68.162.174 dev eth1  metric 100
109.68.162.160/28 dev eth1  proto kernel  scope link  src 109.68.162.166
192.168.160.0/20 dev eth0  proto kernel  scope link  src 192.168.164.96

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.168.254 0.0.0.0         UG    0      0        0 eth0
0.0.0.0         109.68.162.174  0.0.0.0         UG    100    0        0 eth1
109.68.162.160  0.0.0.0         255.255.255.240 U     0      0        0 eth1
192.168.160.0   0.0.0.0         255.255.240.0   U     0      0        0 eth0

маршруты на моем vmhost:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.168.254 0.0.0.0         UG    0      0        0 br925
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
192.168.160.0   0.0.0.0         255.255.240.0   U     0      0        0 br925

Основная проблема заключается в том, что вы получаете шлюз по умолчанию по DHCP, который установлен с минимальной метрикой 0. Вы не можете получить доступ к общедоступным IP-адресам, поскольку пакеты идут в частную сеть.

Попробуйте отключить шлюз в DHCP.

К вашему сведению: SE / Суперпользователь: Я не хочу, чтобы мой DHCP был шлюзом по умолчанию

Пришлось добавить это в / etc / network / interfaces (в разделе eth0)

up route add -net 192.168.159.0 netmask 255.255.255.0 gw 192.168.168.254 dev eth0