在openwrt系统下划分vlan来隔离端口

时间:2024-04-01 08:05:14

组网环境:

在openwrt系统下划分vlan来隔离端口

port0:为wan口,连接外网,剩下的都是lan口;

port1,port2,port3分别直连pc0,pc1,pc2,并配置好ip地址


预想结果:

pc0,pc1,pc2分别为三个不同的网段,pc1与pc2不能相互通信,其他都可以互通,并且可以上网


实际配置:

1.先划分vlan(页面-网络-交换机)

id为1:关联cpu0,不关联port1,关闭port2,关闭port3,不关联port4   (这个vlan1默认就存在)

id为2:关联cpu0,关闭port1,不关联port2,关闭port3,关闭port4

id为3:关联cpu0,关闭port1,关闭port2,不关联port3,关闭port4

2.配置接口(页面-网络-接口)

接口名为lan1  选择虚拟接口eth1.1 配置静态ip为172.168.0.1/16  (这个接口也是默认存在的,下面的虚拟接口eth1.2中的2其实就是vlan的id,也就是vlan2)

接口名为lan2  选择虚拟接口eth1.2 配置静态ip为192.16.2.2/24

接口名为lan3  选择虚拟接口eth1.3 配置静态ip为1792.16.3.3/24

3.其实虽然配置了上面的vlan,但是并没有真正的隔离(pc1能ping同pc2,因为这个设备不是真正的二层交换机,有路由功能),需要防火墙配置,用命令iptables进行过滤

iptables -I FORWARD -d 192.168.2.126 -i eth1.3 -j DROP
iptables -I FORWARD -d 192.168.3.126 -i eth1.2 -j DROP 也就是针对端口进行隔离ip,检查port2的端口,不允许192.168.3.126这个ip进来

根据以上三点配置,可以实现需求了。


用到的原理:

vlan就不多说了,划分地址,进行隔离。由于这个设备相当于既有交换机功能,又有路由功能,所以vlan隔离不能生效。

因为是openwrt系统,不支持acl配置,所以这里选择了iptables命令。

粘贴两个相关链接,讲的不错,学习很多。

http://blog.chinaunix.net/uid-26495963-id-3279216.html

https://www.cnblogs.com/metoy/p/4320813.html