Назад | Перейти на главную страницу

Нет подключения к сети из коробки после установки моста

У меня есть Ubuntu, на котором запущен клиент OpenVPN. Интерфейс подключения соединяется с wlna0, который используется для создания softAP с hostapd. Желаемый эффект здесь состоит в том, чтобы любые беспроводные клиенты появлялись в VPN и использовали DHCP-сервер на другом конце VPN. На самом деле это работает совершенно нормально, за исключением того, что после запуска моста я не могу подключиться по ssh к самому ящику ubuntu и не могу пинговать 192.168.1.1 (gw). Прежде чем мост будет запущен, я могу подключиться к машине по SSH с адаптера ответвителя (через VPN) и могу пропинговать шлюз.

Это сценарий, который я использую, чтобы поднять мост.

#!/bin/sh

# Add tap
echo "Adding tap"
openvpn --mktun --dev tap0
ip link set tap0 address 70:85:cc:22:73:ab
ifconfig tap0 0.0.0.0 promisc up

# Add bridge
echo "Adding bridge"
brctl addbr br0
ip link set br0 address 70:85:cc:22:73:af
ifconfig br0 0.0.0.0 promisc up

# Add interfaces to bridge
echo "Adding interfaces to bridge"
brctl addif br0 wlan0
brctl addif br0 tap0

# Update firewall rules
echo "Updating firewall"
iptables -A INPUT -i tap0 -j ACCEPT
iptables -A INPUT -i br0 -j ACCEPT
iptables -A FORWARD -i br0 -j ACCEPT

# Start the VPN connection
sleep 10
echo "Starting openvpn"
openvpn --config /etc/openvpn/client/home.conf > /dev/null &

После этого сценария я обязательно запускаю dhclient br0 и могу заметить, что мост получает IP-адрес от DHCP-сервера через VPN:

pi@raspberrypi:~$ ifconfig br0: flags=4419<UP,BROADCAST,RUNNING,PROMISC,MULTICAST>  mtu 1500
        inet 169.254.153.212  netmask 255.255.0.0  broadcast 169.254.255.255
        inet6 fe80::3ad2:2b42:3e26:be2d  prefixlen 64  scopeid 0x20<link>
        inet6 fe80::7285:ccff:fe22:73af  prefixlen 64  scopeid 0x20<link>
        ether 70:85:cc:22:73:af  txqueuelen 1000  (Ethernet)
        RX packets 7  bytes 1478 (1.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 56  bytes 9886 (9.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.5.20  netmask 255.255.255.0  broadcast 192.168.5.255
        inet6 fe80::e828:2334:df46:b792  prefixlen 64  scopeid 0x20<link>
        ether dc:a6:32:51:44:00  txqueuelen 1000  (Ethernet)
        RX packets 90  bytes 13504 (13.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 168  bytes 27189 (26.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

tap0: flags=4419<UP,BROADCAST,RUNNING,PROMISC,MULTICAST>  mtu 1500
        inet 192.168.1.19  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::4108:9315:b5f4:db3d  prefixlen 64  scopeid 0x20<link>
        ether 70:85:cc:22:73:ab  txqueuelen 100  (Ethernet)
        RX packets 7  bytes 1576 (1.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 58  bytes 8854 (8.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 169.254.186.184  netmask 255.255.0.0  broadcast 169.254.255.255
        inet6 fe80::a0a2:beb:d26b:9a72  prefixlen 64  scopeid 0x20<link>
        ether dc:a6:32:51:44:01  txqueuelen 1000  (Ethernet)
        RX packets 7  bytes 1900 (1.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 88  bytes 17630 (17.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Есть идеи, что здесь может происходить?