Потеря доступа в интернет при создании Ethernet моста для OpenVPN

Я пытаюсь настроить мост 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 на клиенте я получаю сообщение от сервер говорит, что он не может быть достигнут. Что я делаю неправильно?

EDIT:


Я удалил мост на eth0, как предлагалось в этот вопрос. Я тоже прокомментировал ifconfig $br $eth_ip netmask $eth_netmask broadcast $eth_broadcast. Все теперь, кажется, работает, за исключением того, что я не могу пинговать клиента с сервера.

когда я делаю трассировку google.com он проходит 192.168.1.109 прежде, чем идти через мой роутер. Этот адрес находится в моих таблицах маршрутизации vpn, так что это означает, что трафик идет через VPN? Другая проблема может заключаться в том, что клиент, с которым я тестировал, находится в той же локальной сети, что и сервер. Это может быть причиной проблем? С мостом ethernet компьютеры в локальной сети по-прежнему имеют доступ к клиентам, даже если они не подключены к сети? Я попробую протестировать его из другой сети и обновить это с моими выводами.

EDIT 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
29
задан Community
20.03.2023 22:20 Количество просмотров материала 3526
Распечатать страницу

1 ответ

когда вы делаете мост с OpenVPN, вы будете соединение существующих eth0 и tap0 на мосту br0. Это правильно, если вы хотите, чтобы клиенты OpenVPN были частью одной сети eth0 В и разрешить передачу данных траверс.

когда eth0 и tap0 в мост, они сейчас как порты коммутатора, их отдельных IP-адресов уже не важно. Вы теряете подключение к интернету, потому что br0 не имеет IP теперь.

br0 теперь твой ник и он теперь нужны IP, либо через DHCP или заданы вручную. Попробуй dhclient -v br0.

если у вас нет DHCP-сервера, вам нужно настроить его, только для br0 (можно сказать isc-dhcp-server выдавать только IP-адреса на интерфейсе br0 а не ваш eth0).

3
отвечен LawrenceC 2023-03-22 06:08

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх