Создание двустороннего моста между двумя интерфейсами

Создание двустороннего моста между двумя интерфейсами

Я хочу создать мостовое соединение, я сделал быстрый рисунок своей настройки: (eth0 ни к чему не подключен). Все компьютеры работают под управлением CentOS 7.

Диаграмма сети

Я хочу разрешить ПК A пинговать и отправлять пакеты на ПК B, и наоборот. Оба ПК также должны иметь возможность пинговать / отправлять пакеты на сервер, однако они не должны иметь доступ к Интернету. Я пробовал решения с iptables, такие какЭтот ответ, но это позволило ПК А только пинговать сервер, без какой-либо взаимосвязи.

Есть ли у вас какие-нибудь идеи, как это можно организовать?

решение1

Это просто: не указывайте шлюз по умолчанию/маршрут по умолчанию на ПК A и B. Это должно помешать A и B получить доступ к Интернету и друг к другу. Чтобы позволить A и B общаться друг с другом, добавьте статические маршруты на каждом ПК для доступа к сети другого. Добавьте статический маршрут на ПК A к сети ПК B и добавьте статический маршрут на ПК B к сети ПК A.

Предположим, что сеть ПК A — 10.0.0.0/30, а сеть ПК B — 10.0.0.4/30. На ПК A запустите (как root) route add -net 10.0.0.4/30 gw [ip_of_eth2]и на ПК B запустите (также как root) route add -net 10.0.0.0/30 gw [ip_of_eth3]. Также убедитесь, что на сервере включена переадресация IP (т.е. /proc/sys/net/ipv4/ip_forwardдолжна быть 1).

Конечно, это маршрутизация, а не мостовое соединение, но это более подходящий вариант, исходя из вашей топологии и потребностей.

Связанный контент