Я использую 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
Может быть, это немного, но вы пробовали включить пересылку ipv4? Я не знаю деталей IP-цепочек, но может быть так, что ответ на эхо-запрос на интерфейсе eth0:0
требует «пересылки» через eth0
, в частности, когда ему нужна маршрутизация.
# echo 1 > /proc/sys/net/ipv4/ip_forward
Или
# sudo sysctl -w net.ipv4.ip_forward=1
И если это работает, поместите его в /etc/sysctl.conf
.
Несколько вещей заставляют меня сосредоточиться на стороне сервера, а не на стороне сети.
Прежде всего, к серверу 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
, . Но куда это приведет меня к дальнейшему расследованию?