Маршрутизация двух подсетей, не скрывая хосты?

У меня есть две подсети, скажем, 192.168.1.0/24 и 192.168.2.0/24, которые соединены одним сервером Ubuntu с двумя интерфейсными платами (eth0 и wlan0). Существует партия описаний с помощью NAT способом, что хосты скрыты позади маршрутизатора. Я хотел бы проверить с помощью ping-запросов хосты в обеих подсетях наоборот. Как я должен настроить сервер Ubuntu?

1
задан 21 September 2015 в 11:24

1 ответ

Раздел о том, где и то, которое направляет для установки, является все еще происходящей работой. Это зависит от топологии сети.

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

В зависимости от остальной части Вашей сети существуют потенциально различные способы установить маршрутизацию.

Давайте предположим, что сервер имеет адреса IP 192.168.1.1 и 192.168.2.1 для eth0 и wlan0.

  1. Существует только эти две локальных сети. Нет никакого дополнительного маршрутизатора, который подключает любую сеть к internet/a третьей сети. Сервер, который Вы настраиваете, единственное устройство для выполнения маршрутизации. Просто установите IP соответствующего интерфейса сервера как шлюз по умолчанию на клиентах. Эффект, что любой пакет, не предназначенный для локальной сети, будет передан серверу, кто в свою очередь передаст его другой сети.
  2. У Вас есть маршрутизатор, который соединяет одну из сетей к Интернету. Обычно маршрутизатор, обеспеченный Вашим ISP. Давайте притворимся, что это - network1, и назовите маршрутизатор netgw-1. В этом случае клиенты установят netgw-1 как свое значение-по-умолчанию-gw. Если бы netgw-1 способен, лучший способ пойти состоял бы в том, чтобы добавить запись в свою таблицу маршрутизации в сути

    192.168.2.0/24 via 192.168.1.1
    

    Как сделать, это точно зависит от устройства.

    Тем путем клиентам не будут нужны дополнительные маршруты, но пакеты, предназначенные для network2, отправляют через netgw-1 к серверу к network2.

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

    Примечание: То, как сделать маршруты персистентными, зависит от клиентского метода конфигурации сети (например, NetworkManager или /etc/interfaces).

    Но в целях тестирования, возьмите клиент в каждой сети и установите маршрут (на клиенте!).

    Текущие маршруты могут быть перечислены через ip route show.

    sudo ip route add 192.168.2.0/24 via 192.168.1.1 dev eth0
    

    Это устанавливает маршрут на сеть 192.168.2.0/24 использование маршрутизатора 192.168.1.1, отсылая пакеты через интерфейс eth0. Необходимо будет адаптировать команду, в зависимости от которой объединяются в сеть, клиент идет, и название сетевого интерфейса.

После этого это должно быть столь же просто как включение IPv4, передав _on сервер. Когда опция net.ipv4.ip_forward включен, ядро передаст пакеты IP через сетевые интерфейсы сервера.

Проверять состояние передачи: sysctl net.ipv4.ip_forward Если это 0, включите его через

sudo sysctl -w net.ipv4.ip_forward=1

Теперь попытайтесь проверить с помощью ping-запросов через маршрутизатор. Если бы это работает, как желаемый, и требуется установить настройку, персистентную на перезагрузке, открытой /etc/sysctl.conf и набор

net.ipv4.ip_forward=1

Обратите внимание, что Вы могли бы хотеть к фильтрам установочного пакета через iptables запретить определенный трафик, в зависимости от Ваших потребностей безопасности. Но это - другая тема.

При установке машины, поскольку маршрутизатор NAT требует установки iptables для подмены трафика но как вопрос предполагает, что Вы уже прочитали практические руководства о той теме.

0
ответ дан 28 July 2019 в 14:26

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

Похожие вопросы: