当 openVPN 连接处于活动状态时,通过 SSH 连接到 RasPi,所有 IP 不在本地 10.0.0.* 网络中

当 openVPN 连接处于活动状态时,通过 SSH 连接到 RasPi,所有 IP 不在本地 10.0.0.* 网络中

我希望能够通过 SSH 进入我的 raspi;如果可以简化事情的话,我可以通过 wlan0 接口进行操作。

我希望所有其他连接都通过接口 tun0 上的 openvpn 连接进行路由。

我希望的是 openvpn 配置或 iptables 路由允许我在 openvpn 处于活动状态时通过 ssh 进入我的 raspi。

重述:

  • 在我的本地网络和 raspi 之间,不使用 VPN
  • 在我的 raspi 和本地网络之外的所有设备之间使用 VPN

我的主机上的 ifconfig(通过无线连接)

$ ifconfig  

lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
    options=3<RXCSUM,TXCSUM>
    inet6 ::1 prefixlen 128 
    inet 127.0.0.1 netmask 0xff000000 
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 
    nd6 options=1<PERFORMNUD>
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether ac:bc:32:93:36:c7 
    inet6 fe80::aebc:32ff:fe93:36c7%en0 prefixlen 64 scopeid 0x4 
    inet6 2601:643:8500:614:aebc:32ff:fe93:36c7 prefixlen 64 autoconf 
    inet6 2601:643:8500:614:cbb:be12:9871:b2b4 prefixlen 64 autoconf temporary 
    inet 10.0.0.224 netmask 0xffffff00 broadcast 10.0.0.255
    inet6 2601:643:8500:614::a8ce prefixlen 64 dynamic 
    nd6 options=1<PERFORMNUD>
    media: autoselect
    status: active

en5: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether 0b:0b:0b:0b:0b:0b 
    inet6 fe80::aebc:32ff:fe93:36c7%en5 prefixlen 64 scopeid 0x7 
    inet 169.254.105.195 netmask 0xffff0000 broadcast 169.254.255.255
    nd6 options=1<PERFORMNUD>
    media: autoselect (10baseT/UTP <full-duplex>)
    status: active

awdl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1452
    ether f6:1e:4f:ec:7b:b8 
    inet6 fe80::f41e:4fff:feec:7bb8%awdl0 prefixlen 64 scopeid 0x9 
    nd6 options=1<PERFORMNUD>
    media: autoselect
    status: active

RasPi 上的 ifconfig(通过硬线以太网连接)

$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.0.130  netmask 255.255.255.0  broadcast 10.0.0.255
        ether b8:27:eb:4d:28:33  txqueuelen 1000  (Ethernet)
        RX packets 130  bytes 17325 (16.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 62  bytes 9923 (9.6 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
        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

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.0.155  netmask 255.255.255.0  broadcast 10.0.0.255
        ether b8:27:eb:18:7d:66  txqueuelen 1000  (Ethernet)
        RX packets 66  bytes 9976 (9.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 16  bytes 2116 (2.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

答案1

因此,您只需要在树莓派上设置适当的路由 - 具体如何操作取决于您使用的发行版。

如果您的本地网络使用的是 192.168.0.1-255,那么您需要告诉它通过 wlan0 接口进行路由。它会自动执行此操作,除非您将 openvpn 配置为故意“路由所有流量” - 这通常是 openvpn 配置中的一个选项,它使其添加两个路由来实现此目的。

然后,您只需要确保默认路由指向位于 openvpn 链接另一端的网关。

route add default gateway 192.168.111.1或者任何网关的 IP 地址。

相关内容