Как получить доступ к обеим подсетям (двойной сетевой карте) на сервере Ubuntu из третьей подсети?


0

Это моя домашняя сеть, на которой я учусь.

Пожалуйста, ознакомьтесь с подробными сведениями о правилах VLAN и соответствующих зонах межсетевого экрана в нижней части сообщения

Я успешно назначил 2 NIC (Management / DMZ) для каждого из 6 серверов Windows и использую свой ноутбук Windows в локальной сети для доступа к управлению RDP / Web-доступом для коммутатора / маршрутизатора и т. Д. Я могу пропинговать каждый сервер из Windows Локальный компьютер на свои DMZ и IP управления и получить возврат.

Поэтому я добавил сервер Ubuntu 16 LTS несколько дней назад с той же конфигурацией, но не могу пропинговать оба IP-адреса с ноутбука Windows.

Вот мой файл / etc / network / interfaces

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
        address 192.168.67.100
        netmask 255.255.255.0
#       network 192.168.67.0
#       broadcast 192.168.67.255
        gateway 192.168.67.253
        # dns-* options are implemented by the resolvconf package, if installed
        dns-nameservers 192.168.67.253
        dns-search on.fake.network

# Management network interface
auto eth1
iface eth1 inet static
        address 192.168.7.100
        netmask 255.255.255.0
#       network 192.168.7.0
        broadcast 192.168.7.255

#persistent static routes
up route add -net 192.168.1.0/24 gw 192.168.7.253 dev eth1

Моя таблица маршрутов IP

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.67.253  0.0.0.0         UG    0      0        0 eth0
192.168.1.0     192.168.7.253   255.255.255.0   UG    0      0        0 eth1
192.168.7.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.67.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0

Так что с этим конфигом я могу пинговать 192.168.7.100, но не 192.168.67.100 Вынимаю постоянный статический маршрут и его противоположность: /

Как я могу победить, это довольно легко в Windows, но мой тупик в Ubuntu

* ДОПОЛНИТЕЛЬНЫЕ ДЕТАЛИ *

Ubiquiti ERL3 роутер создает VLANS

VLAN 7 - Management (192.168.7.0) - Router interface (GW) IP is 192.168.7.253
VLAN 13 - LAN (192.168.1.0) - Router interface (GW) IP is 192.168.1.253
VLAN 67 - DMZ (192.168.67.0) - Router interface (GW) IP is 192.168.67.253

Windows ноутбук на LAN-соединение

VLAN 13 - LAN (192.168.1.15)

Сервер Ubuntu (через хост Hyper-V) имеет 2 сетевых адаптера

eth0 - VLAN 67 - DMZ (192.168.67.100)
eth1 - VLAN 7 - Management (192.168.7.100)

Пинг инициируется из локальной сети 192.168.1.15 для обоих DMZ / MGMT 192.168.67.100/192.168.7.100

Вот мои сжатые правила брандмауэра, относящиеся к этому сценарию, удаленные дополнения, такие как доступ по SSH / HTTP и т. Д. И т. Д.

Отмечая, что «address-group mgmtfromlan» содержит несколько IP-адресов из локальной сети, включая 192.168.1.15 (ноутбук в локальной сети VLAN)

name lan-dmz {
    default-action drop
    enable-default-log
    rule 1 {
        action accept
        state {
            established enable
            related enable
        }
    }
    rule 2 {
        action drop
        log enable
        state {
            invalid enable
        }
    }
    rule 100 {
        action accept
        description "Allow ICMP"
        log enable
        protocol icmp
    }
}
name lan-mgmt {
    default-action drop
    enable-default-log
    rule 1 {
        action accept
        state {
            established enable
            related enable
        }
    }
    rule 2 {
        action drop
        log enable
        state {
            invalid enable
        }
    }
    rule 100 {
        action accept
        description "Allow ICMP"
        log enable
        protocol icmp
        source {
            group {
                address-group mgmtfromlan
            }
        }
    }
}
name dmz-lan {
    default-action drop
    enable-default-log
    rule 1 {
        action accept
        state {
            established enable
            related enable
        }
    }
    rule 2 {
        action drop
        log enable
        state {
            invalid enable
        }
    }
}
name mgmt-lan {
    default-action drop
    enable-default-log
    rule 1 {
        action accept
        state {
            established enable
            related enable
        }
    }
    rule 2 {
        action drop
        log enable
        state {
            invalid enable
        }
    }
    rule 100 {
        action accept
        description "Allow ICMP"
        log enable
        protocol icmp
    }
}

* ТАБЛИЦА МАРШРУТИЗАЦИИ НА WINDOWS LAPTOP 192.168.1.15 *

===========================================================================
Interface List
 15...b8 ca 3a d4 bb bc ......Intel(R) 82579LM Gigabit Network Connection #2
  5...3c a9 f4 03 73 ed ......Microsoft Wi-Fi Direct Virtual Adapter #2
 19...00 ff d4 0e 47 e9 ......TAP-Windows Adapter V9
  7...3c a9 f4 03 73 ec ......Intel(R) Centrino(R) Ultimate-N 6300 AGN #2
  1...........................Software Loopback Interface 1
 12...00 00 00 00 00 00 00 e0 Microsoft Teredo Tunneling Adapter
===========================================================================

IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0    192.168.1.253     192.168.1.15    291
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    331
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    331
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    331
      192.168.1.0    255.255.255.0         On-link      192.168.1.15    291
     192.168.1.15  255.255.255.255         On-link      192.168.1.15    291
    192.168.1.255  255.255.255.255         On-link      192.168.1.15    291
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    331
        224.0.0.0        240.0.0.0         On-link      192.168.1.15    291
  255.255.255.255  255.255.255.255         On-link         127.0.0.1    331
  255.255.255.255  255.255.255.255         On-link      192.168.1.15    291
===========================================================================
Persistent Routes:
  Network Address          Netmask  Gateway Address  Metric
          0.0.0.0          0.0.0.0    192.168.1.253  Default
          0.0.0.0          0.0.0.0    192.168.1.253  Default
===========================================================================

IPv6 Route Table
===========================================================================
Active Routes:
 If Metric Network Destination      Gateway
  1    331 ::1/128                  On-link
  1    331 ff00::/8                 On-link
===========================================================================
Persistent Routes:
  None

заранее спасибо


1
Не хватает информации. Вы даете свои настройки, которые не работают, поэтому нельзя полагать, что они точно знают вашу топологию. У вас должно быть четкое описание всей вашей топологии, например, для ascii art, включая, когда это уместно, оба ips каждого задействованного узла. Пример ping -v результатов, arp -an результатов (что делает пинг?) ... Может быть, например, асимметричная маршрутизация с проблемами фильтрации обратного пути или что-то еще
A.B

Я расширил исходный пост с гораздо большим количеством информации, я надеюсь. Включил больше информации о брандмауэрах на Ubiquiti, имеющих отношение к этому вопросу, и прояснил все в максимально возможной степени. Спасибо
Guy Incognito

Что такое таблица маршрутизации 192.168.1.15? Являются ли 192.168.67.253 и 192.168.7.253 одним и тем же маршрутизатором, который является ERL3, а также имеет, например, 192.168.1.253 ip? или там других роутеров не видно? Лучше всего поможет картинка, потому что иначе мне придется мысленно преобразовать вашу конфигурацию (из маршрутизатора, которого я не знаю) в эту картинку. Я не думаю, что у вас есть проблемы с брандмауэром, так как вы можете работать как по отдельности. Я думаю, что это связано с асимметричной маршрутизацией. ping / ping ответ, полученный на одном интерфейсе, когда ожидается на другом или аналогичном. Но это может произойти на маршрутизаторе или на коробке с Ubuntu.
A.B

Если бы вы сделали несколько захватов, подобных tcpdump (на маршрутизаторе, единственном, который может видеть все), это действительно помогло бы. В идеале несколько apture, по одному на интерфейс, зная, что это "в" или "вне".
A.B

Добавлена ​​таблица маршрутизации внизу оригинального сообщения. Все шлюзы, т.е. .67.253, 7.253 и 1.253, поступают с одного и того же маршрутизатора Ubiquiti ERL3. Я также не подозреваю о брандмауэре, подозревая мою неопытность с Ubuntu / Linux в этом отношении. Я думаю, что следующий шаг - выяснить подробный журнал роутера. В настоящее время все правила брандмауэра принимают / запрещают / отбрасывают и т. Д. Спасибо
Guy Incognito

Ответы:


0

При заданном по умолчанию маршруте виртуальная машина ubuntu получает пакет по eth1 (из 192.168.1.15: ping 192.168.7.100). Это будет либо:

  • отбросить пакет из-за фильтрации обратного пути: пакет получен на интерфейсе, где нет маршрута к источнику этого пакета.
  • ответ через eth0, потому что 192.168.1.15 соответствует маршруту по умолчанию через 192.168.1.253 на eth0

Поведение зависит от /proc/sys/net/ipv4/conf/{all,eth1}/rp_filter значения, но по умолчанию используется drop: all / rp_filter = 1 и eth1 / rp_filter = 1

В случае, если он не отброшен: маршрутизатор ERL3 видит ответный пакет от 192.168.1.7.100, который должен быть в lan-mgmt, но проходит из lan-dmz. В зависимости от настроек, возможно описанных в конфигурации вашего роутера, которую вы написали, но этого я не знаю:

  • более или менее удалит его по той же причине, по которой ubuntu удаляет его, когда включен rp_filter: маршрут для него находится в другом месте
  • все равно приму это.

Давайте рассмотрим, что ERL3 принимает это. Тогда «исправить» просто: понизить безопасность в Ubuntu, отключив фильтрацию обратного пути:

echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/eth1/rp_filter

ссылка: https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt (Rp_filter)

(как это работает, eth0 остается защищенным, но это не имеет значения здесь)

Попробуйте сначала, если это работает, проблема решена. Рассмотреть вопрос о замене обоих echo 0 с echo 2 только для eth1 (свободный режим). Но учтите, что это все еще проблема: асимметричная маршрутизация может создать другие проблемы, особенно с брандмауэром.

Если маршрутизатор ERL3 тоже фильтрует (то есть: выше не работает): ubuntu должен знать о существовании 192.168.1.0/24 для обоих интерфейсов и использования table а также rule настройки для правильной маршрутизации. Немного сложно объяснить все почему, в дополнение к тому, как, вот ссылка, это не совсем для этого случая, но может быть основано главным образом (что я сделал здесь):

ссылка: http://lartc.org/howto/lartc.rpdb.multiple-links.html

Я выбрал произвольные таблицы 7 и 67 для соответствия 192.168.7.0/24 и 192.168.67.0/24. Начните с пустых маршрутов (кроме автоматически создаваемых локальных локальных маршрутов) и:

ip route add 192.168.67.0/24 dev eth0 src 192.168.67.100 table 67
ip route add default via 192.168.67.253 table 67
ip route add 192.168.7.0/24 dev eth1 src 192.168.7.100 table 7
ip route add 192.168.1.0/24 via 192.168.7.253 table 7 #enable only LAN to have a route to access MGMT. Feel free to replace 192.168.1.0/24 with default, you have a firewall too.

Я не знаю, действительно ли это требуется, но это в документации, так что ...:

ip route add 192.168.7.0/24 dev eth1 src 192.168.7.100
ip route add 192.168.67.0/24 dev eth0 src 192.168.67.100

Ваш маршрут по умолчанию остается тем же, и здесь в ip route синтаксис:

ip route add default via 192.168.67.253

И действительно важная часть, которая говорит, чтобы использовать правильный интерфейс:

ip rule add from 192.168.67.100 table 67
ip rule add from 192.168.7.100 table 7

Последнее замечание: убедитесь, что Ubuntu не маршрутизирует, иначе скомпрометированный хост DMZ может попытаться управлять другим через Ubuntu

echo 0 > /proc/sys/net/ipv4/conf/default/forwarding
echo 0 > /proc/sys/net/ipv4/conf/all/forwarding

исправлен основной маршрут по умолчанию (67, а не 7)
A.B

Спасибо за очень подробную информацию. Я надеюсь, что вскоре попробую оба ответа, но очень интересно, как это работает :)
Guy Incognito

Спасибо А.Б., это сработало отлично! Первая часть не работала сама по себе, эхо 0 частей, трафик все еще не проходил. Выполнение следующего раздела с добавлением ip route сработало сразу. После завершения теста по обоим ответам я понимаю, что они очень похожи / такие же, как ссылка Томаса-Кренна, которую я сначала попробовал по любой причине. Вчера я ценю вашу помощь в сужении моей проблемы и ответе сначала правильным ответом. Оценил!
Guy Incognito

0

Ваш статический маршрут переопределяет шлюз по умолчанию.

Когда маршрут существует, весь трафик до 192.168.1.x проходит через eth1 с использованием 192.168.7.253 в качестве шлюза.

Когда маршрут не существует, весь трафик до 192.168.1.x проходит через eth0 с использованием 192.168.67.253 в качестве шлюза.

Путь от вашего компьютера до сервера в порядке, но обратный путь принимает другой маршрут в зависимости от того, какой интерфейс вы пинговали. Это называется асимметричной маршрутизацией и обычно не допускается устройствами безопасности. Вероятно, он заблокирован на вашем брандмауэре. По сути, обратный трафик, проходящий по другому маршруту, является «не связанным» и нераспознанным трафиком, поэтому он отбрасывается.

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

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

Посмотрите, помогут ли эти статьи: https://www.thomas-krenn.com/en/wiki/Two_Default_Gateways_on_One_System

https://askubuntu.com/questions/310355/networking-with-multiple-nics


Спасибо за ссылки и информацию. Я потратил немало времени, прежде чем задавать вопрос здесь, только чтобы найти ссылку Томаса-Кренна через Google во время разговоров с А.Б. Очень интересный способ и я отвечу после того, как у меня будет возможность проверить оба метода, представленные в обоих ответах.
Guy Incognito

Это заняло совсем немного времени, чтобы отредактировать конфиг в соответствии с информацией от Томаса-Кренна. Это работает, теперь я могу пропинговать оба интерфейса на сервере Ubuntu и должен иметь возможность играть с разными портами на разных интерфейсах. Мой брандмауэр по умолчанию блокирует правила, которые не установлены или не связаны, поэтому, если пинг входил в один интерфейс, а выход в другой, это должно быть заблокировано моим брандмауэром / работой ubiquiti.
Guy Incognito
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.