iptables功能简介
iptables包括三大功能模块:filter规则表(过滤规则表),NAT转换表,数据包特殊处理mangle表
filter规则表:一般默认实现了INPUT,FORWARD,OUTPUT三个规则表,用户也可以根据需求自定义表
NAT表:包括SNAT,DNAT等地质转换规则
mangle表: 可针对经过本模块的数据包,做数据包内容修改,值替换等
INPUT,FORWARD,OUTPUT规则链的关系如下:
一条报文,到达网卡(无论真实或者虚拟)后,先经过INPUT规则链检测,不允许则无法连接服务器,允许则继续到下一步分析ip路由,若为本机则不做FORWARD规则分析,若非本机经过FORWARD规则分析,最后由输出规则确认,是否通过。
报文----> INPUT规则链 ------> IP路由分析 ----> FORWARD转发规则链 ---->输出规则链
| ^
| |
V |
本地处理----------------------------------------------
关闭所有INPUT:
iptables -P INPUT DROP
此命令执行后,会导致系统所有有关网卡的访问操作全部失效
关闭所有FORWARD:
iptables -P FORWARD DROP
关闭所有OUTPUT:
iptables -P OUTPUT DROP
查看所有iptabls 设置
iptables -L -n
保存iptables的设置:
service iptables save
禁止IP访问:
iptables -I INPUT -s 192.168.1.43 -j DROP
允许IP访问:
iptables -I INPUT -s 192.168.1.43 -j ACCEPT
某次做的防火墙规则:
#!/bin/bash
iptables -P INPUT DROP #禁止所有连接
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT #允许访问lo端口
iptables -A INPUT -s 192.168.10.80 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -s 10.10.3.52 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -s 10.10.3.53 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -s 10.10.3.54 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -s 10.10.3.218 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -s 10.10.3.52 -j ACCEPT
iptables -A INPUT -s 10.10.3.53 -j ACCEPT
iptables -A INPUT -s 10.10.3.54 -j ACCEPT
iptables -A INPUT -p tcp --dport 514 -j ACCEPT #允许该端口,接收来自外部的数据
iptables -A OUTPUT -p tcp --dport 514 -j ACCEPT #允许该端口,对外发送数据
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -p tcp --dport 7443 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 7443 -j ACCEPT
iptables -A INPUT -p tcp --dport 65112 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 65112 -j ACCEPT
service iptables save

浙公网安备 33010602011771号