У меня проблема с некоторыми новыми серверами, которые мы создаем под Ubuntu 12 в виртуальном ящике, работающем под VMware (я считаю, VSphere). Это интернет-провайдер, а не мой рабочий стол. Я думаю, что у нас есть та же проблема, что и в нашем старом центре обработки данных, но мы так и не нашли способ ее исправить. Мы просто перестали использовать множественную адресацию и просто использовали один или другой IP-адрес (нам нужен был один в DMZ и один только внутренний). Мы хотим, чтобы база данных была доступна только в подсети INT
Проблема (короткая версия): пытаюсь настроить Muli-homing под Ubuntu, но могу получить ответ только с одного IP.
Более длинная версия - мы хотим иметь две сети: одну DMZ, которая может иметь доступ к внешнему Интернету, и INT, которая является внутренней и может получать доступ только к другим серверам в нашей части центра обработки данных. Я могу определить их так, чтобы они правильно отображались в ifconfig, netstat -nr и IP route show, но если я попытаюсь получить доступ к службе на сервере, я смогу получить ответ только от одного или другого, а другое время истечет. Какой из них отвечает, остается неизменным между перезагрузками.
Из всего, что я читал, у нас все определено правильно, но, возможно, нам что-то не хватает или есть что-то особенное, что также нужно сделать, поскольку мы находимся под VMware.
Если я попробую SSH или PING в адрес DMZ, он будет работать нормально. Если я попробую адрес INT, он просто истечет. Нет никаких указаний на то, что он заблокирован iptables или каких-либо других сообщений об ошибках в журналах.
Если я попробую каждый по отдельности, они будут работать. Только когда я пытаюсь использовать несколько устройств, доступ не удается
Задний план:
Ubuntu 12.04 LTS под VMware
Имена были изменены, но остались неизменными. A и B - разные числа и заменяются последовательно. Остальные такие же, как в нашем конфиге.
Local server name mapping
DMZ_001 10.A.B.64/26
INT_002 10.A.B.128/27
DMZ - 10.A.B.71 (eth0)
INT - 10.A.B.140 (eth1)
Ниже у меня есть ifconfig, netstat -nr, ip route show и файл интерфейсов. Если есть другая информация, которая может помочь, дайте мне знать.
=====================
username@servername:~$ cat /etc/network/interfaces
iface lo inet loopback
auto lo
#DMZ
auto eth0
iface eth0 inet static
address 10.A.B.71
netmask 255.255.255.192
gateway 10.A.B.65
#up route add default gw 10.A.B.65
dns-nameservers 8.8.8.8 8.8.4.4
# INT
auto eth1
iface eth1 inet static
address 10.A.B.140
netmask 255.255.255.224
gateway 10.A.B.129
#up route add default gw 10.A.B.129
dns-nameservers 8.8.8.8 8.8.4.4
dns-search thinaire.net
================================
username@servername:~$ netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 10.A.B.65 0.0.0.0 UG 0 0 0 eth0
10.A.B.64 0.0.0.0 255.255.255.192 U 0 0 0 eth0
10.A.B.128 0.0.0.0 255.255.255.224 U 0 0 0 eth1
================================
username@servername:~$ ip route show
default via 10.A.B.65 dev eth0 metric 100
10.A.B.64/26 dev eth0 proto kernel scope link src 10.A.B.71
10.A.B.128/27 dev eth1 proto kernel scope link src 10.A.B.140
username@servername:~$
============================
username@servername:~$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:56:ac:5e:1b
inet addr:10.A.B.71 Bcast:10.A.B.127 Mask:255.255.255.192
inet6 addr: fe80::250:56ff:feac:5e1b/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:26089 errors:0 dropped:9 overruns:0 frame:0
TX packets:18282 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3784760 (3.7 MB) TX bytes:2359060 (2.3 MB)
eth1 Link encap:Ethernet HWaddr 00:50:56:ac:06:44
inet addr:10.A.B.140 Bcast:10.A.B.159 Mask:255.255.255.224
inet6 addr: fe80::250:56ff:feac:644/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4437 errors:0 dropped:8 overruns:0 frame:0
TX packets:726 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:295739 (295.7 KB) TX bytes:74047 (74.0 KB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Вы не можете иметь более одного шлюза по умолчанию для каждой таблицы маршрутов в настроенном Linux сюда.
Чтобы иметь несколько шлюзов по умолчанию, вам необходимо настроить отдельные таблицы маршрутов для каждого IP-адреса источника.
Что-то такое:
ip route добавить значение по умолчанию через 10.A.B.65 src 10.A.B.71 таблица 1
ip route add 10.A.B.64 / 26 dev eth0 таблица 1
ip route add 10.A.B.128 / 27 dev eth1 таблица 1
ip правило добавить из 10.A.B.71 поиск 1
а для второго интерфейса
ip route добавить значение по умолчанию через 10.A.B.129 src 10.A.B.140 таблица 2
ip route add 10.A.B.64 / 26 dev eth0 таблица 2
ip route add 10.A.B.128 / 27 dev eth1 таблица 2
ip правило добавить из 10.A.B.140 поиск 2
Вы также можете добавить другие маршруты в эти таблицы маршрутов.
Чтобы настроить его в / etc / network / interfaces, вы можете поместить эти команды в сценарий и вызвать up
директива (см. man 5 interfaces
)
auto eth0 iface eth0 inet static address 10.A.B.71 netmask 255.255.255.192 gateway 10.A.B.65 up /usr/local/bin/eth0-up.sh dns-nameservers 8.8.8.8 8.8.4.4
где eth0-up.sh - это файл с:
#!/bin/bash
ip route add default via 10.A.B.65 src 10.A.B.71 table 1
ip route add 10.A.B.64/26 dev eth0 table 1
ip route add 10.A.B.128/27 dev eth1 table 1
ip rule add from 10.A.B.71 lookup 1
Повторите то же самое для eth1