2 iptables命令帮助信息
有问题查帮助,下面是很全的帮助信息(必须拿下它)
|
|
|
|
2.1 启动和查看iptables状态
|
|
实例演示1:
|
|
提示:如果遇到下面的无法启动IPTABLES的情况
|
|
解决:setup -> Firewall Configuration -> enable
Iptables默认加载的内核模块
|
|
加载如下模块到linux内核
|
|
2.2 iptables参数
参数选项 | 注释说明 |
---|---|
-n num | 数字 |
-L | 列表 |
-F | 清除所有规则,不会处理默认的规则 |
-X | 删除用户自定义的链 |
-Z | 链的计数器清零 |
-t | 指定表 |
-A | 添加协议 |
-p | 协议(all tcp udp Icmp)默认为all |
–dport | 目的端口 |
–sport | 源端口 |
-j | 处理的行为(ACCEPT接受 DROP丢弃 REJECT拒绝) |
-D | 删除规则 |
-A | 添加规则到指定链的结尾 |
-I | 添加规则到指定链的开头 |
-s | 指定源地址 |
–line-numbers | 显示序号 |
-i <网络接口> | 指定数据包进入本机的网络接口。 |
-o <网络接口> | 指定数据包要离开本机所使用的网络接口。 |
2.3 清除默认规则
iptables -F
清除所有规则,不会处理默认的规则iptables -X
删除用户自定义的链iptables -Z
链的计数器清零
实例演示2:
|
|
禁止规则
1.禁止ssh端口
(1) 找出当前机器SSH端口
|
|
(2) 禁止掉当前SSH端口,这里是52113
|
|
具体命令
|
|
注:
|
|
命令行执行的规则,仅仅在内存里临时生效。
|
|
打台球:如果对方告诉你不去,REJECT(拒绝),如果对方没反应,DROP(丢弃)。
(3) 恢复刚才断掉的SSH连接
|
|
我们恢复的办法,登陆虚拟终端页面删除掉刚才的规则。当然也可执行iptables -F, iptables stop等。 练习:禁止用户访问80端口或3306端口:
|
|
使用-I和-A的顺序,防火墙的过滤根据规则顺序的。
-A
是添加规则到指定链的结尾,最后一条。-I
是添加规则到指定链的结尾,第一条。
|
|
|
|
查看规则序号:
|
|
指定位置插入规则:插入到第二行
|
|
通过序号删除规则,删除上述第2条规则
|
|
小结:总结删除规则的方法:
|
|
基于客户端源地址网段控制,禁止10.0.0.0网段连入
|
|
注:iptables默认用的就是filter表,因此以上两条命令等价。
执行以上命令可以发现,我这里已经无法远程连接了。
登陆虚拟机,删除刚才禁止的来源地址为10网段的命令。
iptables -D INPUT -i eth0 -s 10.0.0.0/24 -J DROP
(完整策略规则删除)
iptables -D INPUT 1
(根据策略在链中的序号删,每条链都是各自从1编号)。
|
|
还可以通过“!”来取反
|
|
测试配置拒绝规则也是匹配:下面的测试有两个要点:非的作用,匹配拒绝也是匹配。
centos5版本
|
|
centos6.4高版本:
|
|
测试非”!“
1.源地址不是10.0.0.101单个IP的禁止链接
|
|
2.原地址不是192.168.2.0/24的网段禁止连接
|
|
第一节讲了linux优化,更改root和和ssh端口
|
|
在默认规则为允许的情况下,上述可以封堵ssh访问。
企业工作中解决这个问题:
|
|
封掉3306端口
|
|
匹配指定的协议
|
|
匹配指定协议外的所有协议
|
|
匹配网段
|
|
匹配单一端口
|
|
匹配端口范围
|
|
实例1:测试匹配端口范围
|
|
测试结果
- ssh52113端口终端直接断掉
- telnet连接80不通
|
|
实例2:列举端口
|
|
测试结果:telnet连接80不通
|
|
匹配ICMC类型
iptables -A INPUT -p icmp --icmp-type 8
例:iptables -A INPUT -p icmp --icmp-type 8 -j DROP
|
|
匹配指定的网络接口
|
|
记忆方法:
in-interface -i input name
in-interface -o output name
匹配网络状态
-m state –state
NEW:已经或将启动洗呢连接
ESTABLISHED:已经建立的连接
RELATED:正在启动的新连接
INVALID:非法或无法识别的
FTP服务是特殊的,需要配状态连接。
允许关联的状态包通过(web服务不要使用ftp)
|
|
比喻:看电影出去WC或者接个电话,回来也得允许进去。
限制指定时间包的允许通过数量及并发数 -m limit --limit n/{second/minute/hour/day}
指定时间内的请求速率“n”为速率,后面为时间分别为:秒时分
--limit-burst [n]
: 在同一时间内允许通过的请求“n”为数字,不指定默认为5