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