在特定接口上,如何只允许路由到IP范围?

分享于 

2分钟阅读

互联网

  繁體

问题:

我在设备上有两个接口eth0 (192.168.10.x )和wlan0

这两个网络都可以访问互联网,但是我希望我的设备仅对172.16.30.x范围之外的任何IP范围使用eth0,而该范围只能通过wlan0进行访问。

所以


172.16.30.x --> wlan0


everything else --> eth0



我还希望这些更改在重新启动后仍然存在。

我在ufw中尝试了以下操作,它阻止了(我在测试ping )在wlan0接口上的所有包。


sudo ufw route allow out on wlan0 to 172.16.30.0/24


sudo ufw deny out on wlan0



路由表(ip route show )是


default via 192.168.10.1 dev eth0 src 192.168.10.50 metric 202


default via 172.16.30.1 dev wlan0 proto dhcp src 172.16.30.103 metric 303


169.254.0.0/16 dev vethd1130f6 scope link src 169.254.204.146 metric 208


172.16.30.0/24 dev wlan0 proto dhcp scope link src 172.16.30.103 metric 303


172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown


172.19.0.0/16 dev br-97b0ae2f260f7 proto kernel scope link src 172.19.0.1


172.20.0.0/16 dev br-17f0570004a4 proto kernel scope link src 172.20.0.1 linkdown


192.168.10.0/24 dev eth0 proto dhcp scope link src 192.168.10.50 metric 202




答案1:

假设172.16.30.0/24是WiFi网络的子网,网关是172.16.30.1,你可以简单地删除接口的默认网关,例如,


sudo ip route delete default via 172.16.30.1 dev wlan0



你需要删除默认网关,并添加一个静态路由:


sudo ip route delete default via 192.168.1.1 dev wlan0


sudo ip route add 172.16.30.0/24 via 192.168.1.1 dev wlan0





INT  接口  范围  
相关文章