这真的很广泛,所以如果我超出了本网站的范围,请告诉我。话虽如此……
我想在我的网络上设置一台 Ubuntu 机器,该机器安装了 OpenVPN 客户端,配置为发送所有网络流量。然后我想将 Ubuntu 机器用作 LAN 上某些设备的网关,以便它们也使用 OpenVPN 客户端提供的连接。
我一直在 Ubuntu 论坛中搜索但一无所获,主要是因为我不确定我到底在寻找什么。
我是否需要使用静态路由来实现这一点?或者是否有一种简单的方法来设置此类配置?
非常感谢。
答案1
我认为您问的是,如何根据生成传出流量的设备更改离开网络时传出流量的路由方式。例如,让您的 AppleTV 使用 VPN 隧道而不是常规默认网关。如果是这样,您问的是基于策略的路由。
先决条件:
- IP路由2
上述软件包可以实现您想要的功能。这通常称为基于策略的路由,并针对您的具体情况源策略路由。
您需要完成以下操作:
- 检查使用了哪些路由表编号:
cat /etc/iproute2/rt_tables
- 创建包含相关机器的路由表
- 为特定表添加默认路由
- 刷新路由缓存
我手边没有 Linux 终端;但它应该是这样的:
echo ### tableName >> /etc/iproute2/rt_tables
## 选择一个未使用的号码
ip rule add from ip.add.of.box table tableName
ip route add 0.0.0.0/0 dev tun0 table tableName
##假设 tun0 是你的 VPN
ip route flush cache