我希望能够通过 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 地址。