Hello大家好,我是Lionel。今天为大家带来一个教程。
教程思想:一些企业中为了方便的管理员工的电脑,让员工工作更专心,限制PC的浏览访问,比如taobao iqiyi v.qq这些网站。和一些端口限制,不让用某些软件而阻挡软件端口的方法。当然,这些前提下你要让全部的PC连到你的网络中。你在网关和管理机上做一些策略。
目前市场上的大部分软件可以解决这些问题。但是可能有误伤的情况。所以想要在根本解决这些问题,还有什么比较好的方法呢?
教程思路:通过linux中的iptables来控制网络域中链接的用户的上网规则。
什么是iptables?
Iptables是Linux中的防火墙 可以做NAT,将内网IP转为公网IP。可以根据IP,MAC地址,端口,协议,来丢弃一些数据包。负载均衡,放轻微DDOS攻击等。
今天我们主要是利用iptables中string模块。这个模块是限制域名的网址。
String模块原理:在规则中设置好后,PC链接到网络后,如果PC访问被限制的域名。那么string会判断是否符合要求,符合就会把数据包挡在外面。数据包进不来就自然起到了限制域名访问的功能。
我在这里就写一行屏蔽的规则,然后我会把规则中的各种参数的意思在下面注释给大家。
iptables -I OUTPUT -m string --string "baidu.com" --algo bm --to 11782 -j DROP
// -I 写入iptables规则,如果把-I换成-D就是删除规则。
//-m string 使用string模块;
// --string”baidu.com” 限制的域名;
// --algo bm 设置字符匹配的查询算法,一般默认使用bm算法效果就可以了,另外还可以设置kmp算法,那是一种更复杂的算法,详细内容可自行参见高等数学里的资料。(bm = Boyer-Moore, kmp = Knuth-Pratt-Morris)
// --to11782 这里根据需求写端口
// -j DROP 丢弃数据包
OK,这样可以限制网页访问了。其他用途请自行研究。