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

Сервер Ubuntu (ВМ) с двумя интерфейсами. Может передавать трафик только по одному или другому интерфейсу за раз

Позвольте мне начать с грубой сетевой диаграммы.

Внутренний коммутатор уровня 3 (несколько VLANS, включая сеть 172.16.220.0) -> Внутренняя сеть (172.16.220.0/24) -> eth1 (172.16.220.100) -Ubuntu 10.04 VM-eth0 (192.168.1.100) -> NATed сеть (192.168.1.0/24) -> ASA -> ISP.

Вот проблема, с которой я столкнулся на двух разных серверах. Я построил серверы только с одним интерфейсом, eth0, который подключен к внутреннему интерфейсу ASA. Затем я добавил еще один интерфейс для внутренней сети 172.16.220.0. У меня был установлен шлюз на eth0, а не на eth1 в / etc / network / interfaces. Я мог получить доступ к серверу извне, но не изнутри. Если бы я удалил шлюз из eth0 и установил его для eth1, конечно, я мог бы получить к нему доступ из внутреннего, но не внешнего.

Я попытался настроить маршрутизацию на основе политик, чтобы любой трафик из внутренней сети (несколько vlan - 172.16.0.0/16) направлялся обратно на eth1, но это не сработало. Очевидно, что я упустил часть этой головоломки и, вероятно, неправильно настроил эти серверы. Может ли кто-нибудь помочь мне заставить это работать, чтобы я мог получить доступ к серверу как извне, так и изнутри. Я расстраиваюсь из-за того, что мне нужно использовать соединение 3G с SSH на моих серверах для настройки !!

Вот моя конфигурация / etc / network / interfaces:

# This file describes the network interfaces available on your system

 auto loopback network interface
  iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static

    address 192.168.1.100
    netmask 255.255.255.0

#       gateway 192.168.1.1

auto eth1
iface eth1 inet static
    address 172.16.220.100

    netmask 255.255.255.0

    gateway 172.16.220.1

auto eth0
iface eth0 inet static

    address 192.168.1.100

    netmask 255.255.255.0

и моя таблица маршрутизации ядра:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
172.16.220.0    *               255.255.255.0   U     0      0        0 eth1
default         172.16.220.1    0.0.0.0         UG    100    0        0 eth1

Я пробовал включить пересылку IPv4 в /etc/sysctl.conf, но это тоже не сработало.

Если что-нибудь еще понадобится, просто дайте мне знать.

Спасибо за вашу помощь.

РЕДАКТИРОВАТЬ - добавлена ​​таблица маршрутизации ядра после установки статического маршрута, предложенного фейкер

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
172.16.220.0    172.16.220.1    255.255.255.0   UG    0      0        0 eth1
172.16.220.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1
0.0.0.0         192.168.1.1     0.0.0.0         UG    100    0        0 eth0

Я думаю, что taker находится на правильной линии со статическими маршрутами, однако он указывает маршрут к подсети, в которой находится сервер, неверно. Я думаю, что вам нужно установить свой шлюз на 192.168.1.1, а затем создать статический маршрут для каждой из ваших подсетей (vlan), используя адрес маршрутизатора 172 в качестве шлюза. Если вам нужно более подробное объяснение того, какие команды вводить, перечислите все свои подсети, и я попытаюсь создать для вас таблицу маршрутизации утром на моем компьютере, а сейчас на телефоне, так что это немного сложно!

Немного сбивает с толку, но похоже, что вам нужно подключиться к своей виртуальной машине с хост-сервера и наоборот.

В виртуальной машине добавьте статический маршрут

маршрут добавить -net 172.16.220.0 сетевая маска 255.255.255.0 172.16.220.100

На хосте:

маршрут добавить -net 192.168.1.0 маска сети 255.255.255.0 192.168.1.100

Хотя, скорее всего, я ошибаюсь.

Если я все правильно понял:

Очевидно, у вас может быть только один шлюз по умолчанию.
Вы хотите иметь шлюз по умолчанию на eth0 (это ваша внешняя сеть, верно?).

Чтобы достичь внутренних сетей, вам необходимо настроить статический маршрут, например:
route add -net 172.16.X.0 netmask 255.255.0.0 gw 172.16.220.1 dev eth1

Проверьте, работает ли он, и сделайте его постоянным (не знаю, как это делается в Ubuntu).

И кстати. у вас установлен eth0 дважды в / etc / network / interfaces.