![如何通过 tun0 接口转发特定 IP 的流量](https://linux22.com/image/136044/%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87%20tun0%20%E6%8E%A5%E5%8F%A3%E8%BD%AC%E5%8F%91%E7%89%B9%E5%AE%9A%20IP%20%E7%9A%84%E6%B5%81%E9%87%8F.png)
我有一个 CentOS 7 机器,其中有 tun0 接口。我想将流量转发到来自盒子内部的特定 IP,以通过 tun0。
我尝试这样做
route add -host 12.12.12.12 dev tun0
还尝试添加
iptables -t nat -I POSTROUTING 1 -o tun0 -j MASQUERADE
似乎没什么作用。
答案1
你想要的叫做策略路由(或者基于规则的路由),其中路由过程着眼于目的地以外的其他事物(除了目的地之外)来进行决策。这可以通过以下方式完成ip
使用rule
命令:
# echo '1 tunroute' >> /etc/iproute2/rt_tables
# ip rule add from 12.12.12.12/24 table tunroute
# ip route add default via {tun0-address} dev tun0 table tunroute
您只需运行第一个命令一次,因为它会建立一个别名;从技术上讲,如果您只想使用表号,则不需要它。