在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
启动和停止 复制代码 代码如下:service iptables start/stop/restart 或者直接去找/etc/init.d/下的 2、配置文件: /etc/sysconfig/iptables 没有的话,可以用iptables-save生成 框架: tables > chains > rules(target) 一般安全策略: 规则和命令: 动态规则: 针对connection(TCP连接) 复制代码 代码如下:iptables -A INPUT -m state --state NEW -j DROP iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 上面两条命令,拒绝所有NEW的外来包。但允许自己发出的连接收到外来的数据(ESTABLISHED) 再加上: 复制代码 代码如下:iptables -A INPUT -p tcp -dport 21 -j ACCEPT iptables -A INPUT -p udp -dport 21 -j ACCEPT 则表示可以允许外界访问21端口(FTP,并假设采用passive模式),结合上面的状态,则允许外界主动发起到自己的ftp数据连接———可能是任意端口,但这里已不用写了!! 所以,一般,先写上动态规则,然后再写静态规则,就可以做到处理一些像FTP Passive模式这种不知道用户会访问哪个端口的情况。 3、注意: 有状态的规则需要内核相应模块支持,如果没有编译进,或没有加载,则不会生效的。 iptables对请求的URL作IP访问控制 复制代码 代码如下:/sbin/iptables -A INPUT -i eth0 -p tcp --dport 10000 -s 192.168.137.101 -m string --string "/managersns" --algo bm -j ACCEPT /sbin/iptables -A INPUT -i eth0 -p tcp --dport 10000 -m string --string "/managersns" --algo bm -j DROP /sbin/iptables -A INPUT -i eth0 -p tcp --dport 10000 -s 192.168.137.101 -m string --string "/managersns" --algo bm -j ACCEPT /sbin/iptables -A INPUT -i eth0 -p tcp --dport 10000 -m string --string "/managersns" --algo bm -j DROP 以上规则是正对eth0网卡,可以跟踪自己需求修改。 参数说明: -m string 使用string功能,string是iptables的一个module,也就是做字符串匹配的。 –string “xxxx” 定义字符串内容,可以是URL里任意字符,如果是需要block下载某些类型的文件或请求,这个有很大的发挥空间,可自由想象喔。 –algo bm 设置字符匹配的查询算法,一般默认使用bm算法效果就可以了,另外还可以设置kmp算法,那是一种更复杂的算法,详细内容可自行参见高等数学里的资料。(bm = Boyer-Moore, kmp = Knuth-Pratt-Morris) -j DROP 这在公司网络禁用视频网站是非常有效的,在网关服务器上设置: 复制代码 代码如下:iptables -A FORWARD -m string –-string “ku6.com” --algo bm -j DROP iptables -A FORWARD -m string –-string “tudou.com” –-algo bm -j DROP iptables -A FORWARD -m string –-string “ouou.com” –-algo bm -j DROP iptables -A FORWARD -m string –-string “ku6.com” --algo bm -j DROP iptables -A FORWARD -m string –-string “tudou.com” –-algo bm -j DROP iptables -A FORWARD -m string –-string “ouou.com” –-algo bm -j DROP 其中各项参数的意义如下: -A FORWARD 增加FORWARD链的规则,以上规则是针对启用了路由功能(即:echo 1 > /proc/sys/net/ipv4/ip_forward) 如果是直接访问,可使用的INPUT或OUTPUT。 设置符合此条件的包的处理方式,DROP即是丢弃,也是reject的意思。 复制代码 代码如下:iptables -A INPUT -m string --string "stringname" --algo bm -j DROP
|
请发表评论