当tun0不是系统的默认路由时如何将流量从br0路由到tun0

罗伯特·科泽夫斯基

我有一个IP为10.0.0.1/24的桥接网络br0,我有一个与IP 10.0.0.2相连的客户端我也有一个VPN连接(tun0),该连接具有由DHCP分配的IP,因此它的IP可能会有所不同。VPN连接不是系统的默认路由,因此设备上的所有流量都通过常规eth0路由(不是VPN路由)。(在主机上启用了IPv4转发)

我要实现的目标是,将网关设置为10.0.0.1的所有连接到br0(在我的情况下为LXC容器)的客户端,都应通过VPN连接对其流量进行NAT和路由。

由于不可能将tun0设备直接附加br0,因此我尝试使用iptables转发流量

因此,我认为我必须采取的步骤是使用以下命令强制伪装来自br0的流量,然后转发至tun0

iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
iptables -A FORWARD -i br0 -o tun0 -j ACCEPT

我还添加了状态跟踪,但是没有用:

iptables -A INPUT -i br0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT

要添加辅助默认路由,我在文件“ / etc / iproute2 / rt_tables”中添加了“ 1 vpnout”条目,并添加了默认路由:

ip route add default dev vpn-out table vpnout

这不起作用,并且下一个命令具有相同的结果

ip route add default via dev vpn-out table vpnout
ip rule add from 10.0.0.0/24 table vpnout
ip rule add to 10.0.0.0/24 table vpnout

但是仍然在那之后,我仍然无法从连接到br0的客户端ping 8.8.8.8有什么我想念的吗?

罗伯特·科泽夫斯基

因此最后,由于@Fiisch的建议,我终于找到了缺少的设置。

这是使其工作的最终命令:

iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
iptables -A FORWARD -i br0 -o tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -o br0 -j ACCEPT

iptables -A INPUT -i tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT

ip route add default dev tun0 table vpnout
ip route add 10.0.0.0/24 dev br0 table vpnout

ip rule add from 10.0.0.0/24 table vpnout
ip rule add to 10.0.0.0/24 table vpnout

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将所有流量从eth1路由到tun0(ssh)

来自分类Dev

服务器上的OpenVPN tun0路由

来自分类Dev

服务器上的 OpenVPN tun0 路由

来自分类Dev

OpenVPN如何调整进入tun0的所有流量?

来自分类Dev

如何获得点对点的tun0?

来自分类Dev

使用iptables将辅助网络接口流量以及端口转发重定向到tun0(OpenVPN)

来自分类Dev

如何将所有数据包从 wlan0 转发到 tun0 (OpenVPN)?

来自分类Dev

了解tun0地址

来自分类Dev

了解tun0地址

来自分类Dev

OpenVPN无法启动tun0

来自分类Dev

如何将主机Ubuntu上的VPN(tun0)网络适配器映射到VirtualBox来宾Windows?

来自分类Dev

如何将主机Ubuntu上的VPN(tun0)网络适配器映射到VirtualBox来宾Windows?

来自分类Dev

当tun0接口上/下事件发生时,如何使脚本自动运行?

来自分类Dev

使用OpenVPN的et0 vs tun0

来自分类Dev

仅将特定IP系列流量从eth0路由,其余全部路由到wlan0

来自分类Dev

“ tun0 @ none”中的任何内容都不代表什么?

来自分类Dev

通过VPN(tun0)访问Virtualbox仅限主机的访客

来自分类Dev

Wireguard服务器和openvpn客户端-将流量从wg0转发到tun0(openvpn隧道)

来自分类Dev

即使传出流量仅限于 tun0 上的 VPN,通过 enp3s0 (eth0) 下载 torrent 是否正确?

来自分类Dev

我只能在使用ufw配置文件时才能在单个接口(tun0)上打开端口

来自分类Dev

iptables将wlan0路由到usb0和usb1

来自分类Dev

将Internet从eth0路由到openvpn到eth1

来自分类Dev

如何将流量从tun中继到Internet?

来自分类Dev

在Ubuntu 14.04上将子网请求从wlan0路由到eth0

来自分类Dev

Linux ppp0和默认路由以及如何访问公共互联网

来自分类Dev

具有两个IPv6路由器的子网/如何正确获取默认路由?

来自分类Dev

如何将所有流量路由到动态配置的默认网关?

来自分类Dev

通过 TUN 接口路由所有流量

来自分类Dev

如果存在静态路由,如何将Windows配置为不使用默认路由

Related 相关文章

  1. 1

    将所有流量从eth1路由到tun0(ssh)

  2. 2

    服务器上的OpenVPN tun0路由

  3. 3

    服务器上的 OpenVPN tun0 路由

  4. 4

    OpenVPN如何调整进入tun0的所有流量?

  5. 5

    如何获得点对点的tun0?

  6. 6

    使用iptables将辅助网络接口流量以及端口转发重定向到tun0(OpenVPN)

  7. 7

    如何将所有数据包从 wlan0 转发到 tun0 (OpenVPN)?

  8. 8

    了解tun0地址

  9. 9

    了解tun0地址

  10. 10

    OpenVPN无法启动tun0

  11. 11

    如何将主机Ubuntu上的VPN(tun0)网络适配器映射到VirtualBox来宾Windows?

  12. 12

    如何将主机Ubuntu上的VPN(tun0)网络适配器映射到VirtualBox来宾Windows?

  13. 13

    当tun0接口上/下事件发生时,如何使脚本自动运行?

  14. 14

    使用OpenVPN的et0 vs tun0

  15. 15

    仅将特定IP系列流量从eth0路由,其余全部路由到wlan0

  16. 16

    “ tun0 @ none”中的任何内容都不代表什么?

  17. 17

    通过VPN(tun0)访问Virtualbox仅限主机的访客

  18. 18

    Wireguard服务器和openvpn客户端-将流量从wg0转发到tun0(openvpn隧道)

  19. 19

    即使传出流量仅限于 tun0 上的 VPN,通过 enp3s0 (eth0) 下载 torrent 是否正确?

  20. 20

    我只能在使用ufw配置文件时才能在单个接口(tun0)上打开端口

  21. 21

    iptables将wlan0路由到usb0和usb1

  22. 22

    将Internet从eth0路由到openvpn到eth1

  23. 23

    如何将流量从tun中继到Internet?

  24. 24

    在Ubuntu 14.04上将子网请求从wlan0路由到eth0

  25. 25

    Linux ppp0和默认路由以及如何访问公共互联网

  26. 26

    具有两个IPv6路由器的子网/如何正确获取默认路由?

  27. 27

    如何将所有流量路由到动态配置的默认网关?

  28. 28

    通过 TUN 接口路由所有流量

  29. 29

    如果存在静态路由,如何将Windows配置为不使用默认路由

热门标签

归档