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

Пытаюсь настроить Multi-Homing под Ubuntu12, но могу получить только 1 из 2 IP-адресов для приема запросов

У меня проблема с некоторыми новыми серверами, которые мы создаем под 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