Сервер 12.04 - Вторичный IP не будет маршрутизироваться за пределы локальной сети

Я использую Ubuntu 12.04 в качестве платформы для установки VirtualMin, которая будет размещать несколько веб-сайтов для одной организации. Для этого мне нужно привязать несколько IP-адресов в одной подсети к серверу, и у меня возникают проблемы при этом.

Я могу связать дополнительные адреса либо с помощью дополнительных виртуальных сетевых адаптеров (это vm), либо с помощью виртуальных интерфейсов одного сетевого интерфейса. В обоих случаях дополнительные адреса нормально пингуются с любого хоста в локальной сети, но из любой удаленной сети можно пропинговать только основной ник. Поведение точно такое же, как и в случае, если вы настроили один ник без шлюза, поэтому я думаю, что это проблема с таблицей маршрутизации, но я просто не могу создать рабочую конфигурацию. Кто-нибудь может, пожалуйста, взглянуть на мою конфигурацию и, возможно, указать мне правильное направление?

/ etc / network / interfaces

# The loopback network interface
auto lo eth0 eth0:0
iface lo inet loopback


# The primary network interface
iface eth0 inet static
        address 10.192.3.104
        netmask 255.255.224.0
        gateway 10.192.0.1
        broadcast 10.192.31.255
        network 10.192.0.0
        dns-nameservers 10.192.0.210 10.192.0.198 127.0.0.1


iface eth0:0 inet static
        address 10.192.30.52
        netmask 255.255.224.0

route -n

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.192.0.1      0.0.0.0         UG    100    0        0 eth0
10.192.0.0      0.0.0.0         255.255.224.0   U     0      0        0 eth0
0
задан 12 March 2013 в 23:02

2 ответа

Может быть, это немного, но вы пробовали включить пересылку ipv4? Я не знаю деталей IP-цепочек, но может быть так, что ответ на эхо-запрос на интерфейсе eth0:0 требует «пересылки» через eth0, в частности, когда ему нужна маршрутизация.

# echo 1 > /proc/sys/net/ipv4/ip_forward

Или

# sudo sysctl -w net.ipv4.ip_forward=1

И если это работает, поместите его в /etc/sysctl.conf.

0
ответ дан 12 March 2013 в 23:02

Несколько вещей заставляют меня сосредоточиться на стороне сервера, а не на стороне сети.

Прежде всего, к серверу Windows в той же сети может быть добавлен дополнительный адрес, и он сразу же обменивается данными точно так же, как сервер Ubuntu.

Кроме того, ни один вторичный адрес не может быть пропингован. Чтобы использовать ваш пример, я мог бы изменить итоговый октет вторичного адреса, чтобы он был на один выше первичного с той же проблемой. Например, 10.192.10.138 / 139 все еще имеет ту же проблему.

Я запустил tcpdump и заметил, что основной показывает как входящий запрос icmp, так и исходящий ответ. Пинги по ip-адресу вторичного сервера показывают только входящие. Исходящий, кажется, отброшен. Например,

,
16:10:08.149550  In 00:1f:27:40:04:00 ethertype IPv4 (0x0800), length 100: 10.1.0.200 > 10.192.10.138: ICMP echo request, id 64546, seq 6, length 64
16:10:08.149571 Out 00:50:56:be:0a:89 ethertype IPv4 (0x0800), length 100: 10.192.10.138 > 10.1.0.200: ICMP echo reply, id 64546, seq 6, length 64
16:10:09.145736  In 00:1f:27:40:04:00 ethertype IPv4 (0x0800), length 100: 10.1.0.200 > 10.192.10.138: ICMP echo request, id 64546, seq 7, length 64
16:10:09.145759 Out 00:50:56:be:0a:89 ethertype IPv4 (0x0800), length 100: 10.192.10.138 > 10.1.0.200: ICMP echo reply, id 64546, seq 7, length 64
16:10:38.055885  In 00:1f:27:40:04:00 ethertype IPv4 (0x0800), length 100: 10.1.0.200 > 10.192.10.185: ICMP echo request, id 12835, seq 1, length 64
16:10:39.055943  In 00:1f:27:40:04:00 ethertype IPv4 (0x0800), length 100: 10.1.0.200 > 10.192.10.185: ICMP echo request, id 12835, seq 2, length 64
16:10:40.056085  In 00:1f:27:40:04:00 ethertype IPv4 (0x0800), length 100: 10.1.0.200 > 10.192.10.185: ICMP echo request, id 12835, seq 3, length 64
,

. Но куда это приведет меня к дальнейшему расследованию?

0
ответ дан 12 March 2013 в 23:02

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

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