Я пытаюсь настроить мост Ethernet с OpenVPN. Я создаю свой мост, используя этот скрипт, полученный из руководства по установке на openvpn.org, слегка модифицированный для работы в Arch Linux.
# Define Bridge Interface
br="br0"
# Define list of TAP interfaces to be bridged,
# for example tap="tap0 tap1 tap2".
tap="tap0"
# Define physical ethernet interface to be bridged
# with TAP interface(s) above.
eth="eth0"
eth_ip="192.168.1.202"
eth_netmask="255.255.255.0"
eth_broadcast="192.168.1.255"
for t in $tap; do
openvpn --mktun --dev $t
done
brctl addbr $br
#brctl addif $br $eth
for t in $tap; do
brctl addif $br $t
done
for t in $tap; do
ip link set dev $t promisc on
done
ip link set dev $eth promisc on
#ifconfig $br $eth_ip netmask $eth_netmask broadcast $eth_broadcast
Это работает, за исключением того, что сервер теряет свое интернет-соединение сразу после запуска скрипта, пока я не перезагружусь. Я все еще могу подключиться к клиенту, и маршрутизация всех данных через vpn с помощью push "redirect-gateway def1"
кажется, работает - если я пытаюсь пинговать google.com на клиенте, я получаю сообщение от сервера, что это не может быть достигнуто. Что я делаю неправильно?
РЕДАКТИРОВАТЬ:
Я удалил мост к eth0, как предложено в этом вопросе. Я также прокомментировал ifconfig $br $eth_ip netmask $eth_netmask broadcast $eth_broadcast
. Кажется, теперь все работает, за исключением того, что я не могу пропинговать клиента с сервера.
Когда я делаю трассировку на google.com, она проходит через 192.168.1.109, прежде чем пройти через мой маршрутизатор. Этот адрес находится в моих таблицах маршрутизации vpn, значит ли это, что трафик проходит через VPN? Другая проблема может заключаться в том, что клиент, с которым я тестировал, находится в той же локальной сети, что и сервер. Может ли это быть причиной проблем? Могут ли компьютеры в локальной сети с помощью моста Ethernet получать доступ к клиентам, даже если они не подключены к сети? Я попробую протестировать его из другой сети и дополню его своими выводами.
РЕДАКТИРОВАТЬ 2:
Вот как выглядят таблицы маршрутизации на сервере:
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
0.0.0.0 192.168.1.2 0.0.0.0 UG 0 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.1.109 127.0.0.1 255.255.255.255 UGH 0 0 0 lo