CentOS 6 iptables:
1,iptables 的基本使用
启动: service iptables start
关闭: service iptables stop
查看状态: service iptables status
开机禁用 : chkconfig iptables off
开机启用 : chkconfig iptables on
2, 开放指定的端口
-A 和 - I 参数分别为添加到规则末尾和规则最前面.
- # 允许本地回环接口 (即运行本机访问本机)
- iptables -A INPUT -i lo -j ACCEPT
- # 允许已建立的或相关连的通行
- iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
- # 允许所有本机向外的访问
- iptables -P INPUT ACCEPT
- iptables -A OUTPUT -j ACCEPT
- # 允许访问 22 端口
- iptables -A INPUT -p tcp --dport 22 -j ACCEPT
- iptables -A INPUT -p tcp -s 10.159.1.0/24 --dport 22 -j ACCEPT
注:-s 后可以跟 IP 段或指定 IP 地址
- # 允许访问 80 端口
- iptables -A INPUT -p tcp --dport 80 -j ACCEPT
- # 允许 FTP 服务的 21 和 20 端口
- iptables -A INPUT -p tcp --dport 21 -j ACCEPT
- iptables -A INPUT -p tcp --dport 20 -j ACCEPT
- # 如果有其他端口的话, 规则也类似, 稍微修改上述语句就行
- # 允许 ping
- iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
- # 禁止其他未允许的规则访问
- iptables -A INPUT -j REJECT #(注意: 如果 22 端口未加入允许规则, SSH 链接会直接断开.)
- iptables -A FORWARD -j REJECT
3, 屏蔽 IP
- # 如果只是想屏蔽 IP 的话 "3, 开放指定的端口" 可以直接跳过.
- # 屏蔽单个 IP 的命令是
- iptables -I INPUT -s 123.45.6.7 -j DROP
- # 封整个段即从 123.0.0.1 到 123.255.255.254 的命令
- iptables -I INPUT -s 123.0.0.0/8 -j DROP
- # 封 IP 段即从 123.45.0.1 到 123.45.255.254 的命令
- iptables -I INPUT -s 124.45.0.0/16 -j DROP
- # 封 IP 段即从 123.45.6.1 到 123.45.6.254 的命令是
- iptables -I INPUT -s 123.45.6.0/24 -j DROP
4, 查看已添加的 iptables 的规则
iptables -L -n
N: 只显示 IP 地址和端口号, 不将 IP 解析为域名
删除已添加的 iptables 的规则
将所有 iptables 以序号标记显示, 执行:
iptables -L -n --line-numbers
比如要删除 INPUT 里序号为 8 的规则, 执行:
iptables -D INPUT 8
5, 也可以直接编辑配置文件, 添加 iptables 防火墙规则:
iptables 的配置文件为 / etc / sysconfig / iptables
编辑配置文件:
vi /etc/sysconfig/iptables
文件中的配置规则与通过的 iptables 命令配置, 语法相似:
如, 通过 iptables 的命令配置, 允许访问 80 端口:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
那么, 在文件中配置, 只需要去掉句首的 iptables, 添加如下内容:
-A INPUT -p tcp --dport 80 -j ACCEPT
保存退出.
有两种方式添加规则
iptables -A 和 iptables -I
iptables -A 添加的规则是添加在最后面. 如针对 INPUT 链增加一条规则, 接收从 eth0 口进入且源地址为 192.168.0.0/16 网段发往本机的数据.
[[email protected] ~]# iptables -A INPUT -i eth0 -s 192.168.0.0/16 -j ACCEPT
iptables -I 添加的规则默认添加至第一条.
如果要指定插入规则的位置, 则使用 iptables -I 时指定位置序号即可.
删除规则
如果删除指定则, 使用 iptables -D 命令, 命令后可接序号. 效果请对比上图.
或 iptables -D 接详细定义;
如果想把所有规则都清除掉, 可使用 iptables -F.
备份 iptabes rules
使用 iptables-save 命令, 如:
[[email protected] ~]# iptables-save> /etc/sysconfig/iptables.save
恢复 iptables rules
使用 iptables 命令, 如:
[[email protected] ~]# iptables-restore < /etc/sysconfig/iptables.save
iptables 配置保存
以上做的配置修改, 在设备重启后, 配置将丢失. 可使用 service iptables save 进行保存.
[[email protected] ~]# service iptables save
重启 iptables 的服务使其生效:
service iptables save 添加规则后保存重启生效.
service iptables restart
来源: http://www.bubuko.com/infodetail-3329832.html