iptables [-t 表名] 选项 [链名] [条件] [-j 控制类型] 参数
常用命令:
-P :设置默认策略: iptables -P INPUT (DROP|ACCEPT)
-F :清空规则链 iptables -F / iptables --flush
-L :查看规则链 iptables -L
-A :在规则链的末尾加入新规则 iptables -A INPUT -s 192.168.1.1
-I num:在规则链的头部加入新规则 iptables -I INPUT 1 --dport 80 -j ACCEPT 插入一条规则,原本位置上的规则将会往后移动一个顺位
-D num:删除某一条规则 iptables -D INPUT 1(编号)
-R:修改规则 iptables -R INPUT 1 -s 192.168.12.0 -j DROP 取代现行规则,顺序不变(1是位置)
-N:新的规则 iptables -N allowed 定义新的规则
通用参数:
-s :匹配来源地址IP/MASK,加叹号"!"表示除这个IP外。 iptables -A INPUT -s 192.168.1.1
-d :匹配目标地址,去往xxxxIP iptables -A INPUT -d 192.168.12.1
-i :网卡名称 匹配从这块网卡流入的数据 iptables -A INPUT -i ens33
-o :网卡名称 匹配从这块网卡流出的数据 iptables -A FORWARD -o ens33
-p :匹配协议,如tcp,udp,icmp iptables -A INPUT -p tcp
-j :指定要进行的处理动作 --- DROP:丢弃 REJECT:明示拒绝 ACCEPT:接受
-m :使用扩展模块来进行数据包的匹配 (multiport/tcp/state/addrtype) iptables -m state ESTABLISHED
-t :表名(raw、mangle、nat、filter) iptables -t nat
--dport num :匹配目标端口号 iptables -A INPUT -p tcp --dport 22
--sport num :匹配来源端口号 iptables -A INPUT -p tcp --sport 22
常用的ACTION:
-j :指定要进行的处理动作
DROP:丢弃
REJECT:明示拒绝
ACCEPT:接受
SNAT基于原地址的转换
source--指定原地址
TCP状态转移要点:
LISTENING状态: FTP服务启动后首先处于侦听(LISTENING)状态。
ESTABLISHED状态: ESTABLISHED的意思是建立连接,表示两台机器正在通信。
CLOSE_WAIT: 对方主动关闭连接或者网络异常导致连接中断,这时我方的状态会变成CLOSE_WAIT 此时我方要调用close()来使得连接正确关闭
TIME_WAIT: 我方主动调用close()断开连接,收到对方确认后状态变为TIME_WAIT。
匹配都在iptable的命令行中指定:
--source 匹配源ip地址或网络
--destination (-d) 匹配目标ip地址或网络
--protocol (-p) 匹配ip值
--in-interface (-i) 流入接口(例如,eth0)
--out-interface (-o) 流出接口
--state 匹配一组连接状态
--string 匹配应用层数据字节序列
--comment 在内核内存中为一个规则关联多达256个字节的注释数据
-p udp:UDP协议的扩展
--dport :destination port 目的端口
--sport :source port 来源端口
-p icmp:icmp数据报文的扩展
--icmp-type:
echo-request