В настоящее время на моем сервере Linux я включил мост, так что я могу использовать OpenVPN в режиме моста. Прекрасно работает. eth0 подключен к локальной сети; tun0 - шлюз OpenVPN; они подключены к новому интерфейсу br0.
Тот же сервер также функционирует как брандмауэр / маршрутизатор (eth1 - это интернет-шлюз) и на нем размещается httpd и несколько других демонов. Поэтому мне пришлось перенастроить некоторые из них для прослушивания на br0 вместо eth0.
Дело в том, что я хотел бы динамически разорвать мост, когда не использую OpenVPN, и оставить его прежним, как у меня, где eth0 - это шлюз в LAN.
По сути, я хочу создать «символическую ссылку» на все, что активно в данный момент. Что-то вроде "lan0", которое может "указывать" на br0 или eth0.
Я слышал о псевдонимах IP, но это способ включить несколько IP-адресов на сетевой карте, а я не пытаюсь этого сделать. Кто-нибудь указал мне в правильном направлении?
Или какое-либо снижение производительности, если оно существует, если оставить мост включенным, даже если он не используется, достаточно незначительным, чтобы я не беспокоился?
Если бы вы беспокоились о производительности, вы бы не использовали мост через VPN: каждый широковещательный пакет, который происходит на любой стороне, должен проходить через ссылку. Если не соблюдать осторожность, можно получить широковещательный шторм.
Ваш лучший выбор: просто оставьте мост вверх все время.
если ты являются заботясь о производительности, вы должны настроить эту машину как маршрутизатор, и явно маршрут трафик через VPN, а не мост через него.
Если вы думаете, что не можете этого сделать; Если ваш «маршрутизатор» исключительно глуп и не допускает статических маршрутов, вы можете просто расширить свою подсеть на «этой стороне» сети.
Например, если ваша сеть выглядит так:
networkA | vpnA <-----------> router | networkB <----------> vpnB
192.168.1.0/24 192.168.66.0/24 192.168.66.5
затем "обновить" networkB до /23
и сделайте так:
(internet) -----> router | networkB <----------------> vpnB | tap0 <-----> vpnA
192.168.66.0/23 192.168.66.5 192.168.67.1
vpnB "объявит" 192.168.67.1 на стороне networkB. Это не оптимально, поскольку широковещательная передача Ethernet из сети B все еще может попасть в сеть A, по крайней мере, обратное не будет правдой.
Если я не ошибаюсь, мост не будет вести себя должным образом с подключенным к нему только одним интерфейсом? Я думаю, он должен действовать как «символическая ссылка», которую вы описываете, указывая на eth0 (когда eth0 - единственный интерфейс на мосту).
Таким образом, вы всегда можете привязать свои сервисы к br0 и при необходимости добавлять / удалять интерфейсы с моста.