Это моя ситуация:

Маршрутизатор A: IP 192.168.1.1 Mask 192.168.1.0/24 - подключен к Интернету.

Сервер: - Интерфейс eth0: адрес inet: 10.1.1.125 Маска: 255.255.255.0 (подключен к маршрутизатору B) - Интерфейс ra0: Адрес inet: 192.168.1.125 Маска: 255.255.255.0 (подключен к маршрутизатору A)

Маршрутизатор B: IP 10.1.1.254 Mask 10.1.1.0/24 - подключен к серверу eth0

Компьютер: подключен к маршрутизатору B через соединение WiFi.

Я настроил статический маршрут на маршрутизаторе B, который использует в качестве шлюза по умолчанию 192.168.1.125, и я могу пропинговать этот ip с компьютера.

Проблема в том, как я могу подключиться к Интернету? Другими словами, трафик, поступающий с сервера eth0, должен использовать ra0 в качестве шлюза.

Любое предложение ?

Спасибо

4 ответа4

0

Я нашел решение, используя iptables (всего 2 строки):

iptables --table nat --append POSTROUTING --out-interface ra0 -j MASQUERADE
iptables --append FORWARD --in-interface eth0 -j ACCEPT

Спасибо вам всем!

0

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

0

Вы можете соединить два интерфейса на сервере.

  1. Установите пакет утилит моста.

apt-get установить bridge-utils

  1. Создайте мост.

brctl addbr br0

  1. Удалите все IP-адреса из интерфейсов Ethernet.

ifconfig eth0 0.0.0.0 down

ifconfig eth1 0.0.0.0 down

  1. Включите поддержку STP, если требуется.

brctl stp бюстгальтер на

  1. Подключите интерфейсы Ethernet к мосту.

brctl addif br0 eth0

brctl addif br0 eth1

  1. Поднимите мост и интерфейсы Ethernet вверх.

ifconfig eth0 up

ifconfig eth1 up

ifconfig br0 up

Смотрите ссылку для более подробной информации.

0

Повторяя комментарий от ~ quack, почему бы не подключить маршрутизаторы напрямую и позволить им управлять маршрутизацией? Особенно, если они являются NAT-маршрутизаторами, у пакетов больше шансов на передачу, потому что Computer01 нужно не только знать, как подключиться к Интернету, но и RouterA должен знать, как связаться с Computer01.

Это может быть так же просто, как превратить ваш сервер в маршрутизатор NAT, либо с помощью Windows Interface Sharing, либо с различными конфигурациями Linux. И хотя я не против использования сервера в качестве маршрутизатора, это создает дополнительную нагрузку на сервер.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .