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

У меня проблема с некоторыми новыми серверами, которые мы создаем под Ubuntu 12 в виртуальной коробке, работающей под VMware(я полагаю, VSphere). Это у провайдера не мой рабочий стол. Я думаю, что у нас та же проблема, что и в нашем старом центре обработки данных, но мы так и не нашли способ ее исправить. Мы просто прекратили использовать множественную адресацию и просто использовали один или другой из IP-адресов (нам нужен был один в DMZ и только один внутренний). Мы хотим, чтобы база данных была доступна только в подсети INT

Проблема (короткая версия): Попытка настроить Muli-homing под Ubuntu, но получить только один IP-адрес для ответа.

Более длинная версия. Мы хотим иметь две сети, одна из которых является DMZ и может иметь доступ к внешнему Интернету, и INT, которая является внутренней и может получать доступ только к другим серверам в нашей части центра обработки данных. Я могу определить их так, чтобы они правильно отображались в ifconfig, netstat -nr и IP-маршрутизации, но если я попытаюсь получить доступ к службе на сервере, я смогу ответить только одному или другому, а другой - по истечении времени ожидания. То, что отвечает, остается неизменным между перезагрузками.

Из всего, что я читал, у нас все правильно определено, но, может быть, мы что-то упустили или есть что-то особенное, что также должно быть сделано, поскольку мы находимся под управлением VMware.

Если я попытаюсь использовать SSH или PING в DMZ-адресе, он будет работать нормально. Если я попробую адрес INT, это просто время ожидания. Нет никаких признаков того, что он был заблокирован iptables или любыми другими сообщениями об ошибках в журналах.

Если я попробую каждый в отдельности, они будут работать. Это только когда я пытаюсь как multi-homing, что сбой доступа

Фон:

Ubuntu 12.04 LTS под VMware

Имена были изменены, но были постоянными. А и В - это разные числа и заменяются последовательно. Остальные такие же, как и в нашем конфиге.

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)

1 ответ

Решение

Вы не можете иметь более одного шлюза по умолчанию на таблицу маршрутов в Linux, настроенном таким образом.

Чтобы иметь несколько шлюзов по умолчанию, вам необходимо настроить отдельные таблицы маршрутов для каждого исходного IP-адреса.

Что-то вроде того:

IP-маршрут добавить по умолчанию через 10.AB65 SRC 10.AB71 таблица 1

ip route add 10.AB64/26 dev eth0 таблица 1

ip route add 10.AB128/27 dev eth1 таблица 1

IP правило добавить из 10.AB71 поиска 1

и для второго интерфейса

ip route добавить значение по умолчанию через 10.AB129 src 10.AB140 таблица 2

ip route add 10.AB64/26 dev eth0 таблица 2

ip route add 10.AB128/27 dev eth1 таблица 2

IP-правило добавить из 10.AB140 поиска 2

Вы также можете добавить другие маршруты в эти таблицы маршрутов.

Чтобы настроить его в / etc / network/interfaces, вы можете поместить эти команды в скрипт и вызвать up директива (см. man 5 interfaces)

auto eth0 iface eth0 inet статический адрес 10.AB71 маска сети 255.255.255.192 шлюз 10.AB65 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

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