新增规则
要将规则添加到防火墙,请按以下方式调用iptables命令:
iptables -A chain_name 条件 -j 目标
1.-A表示追加(将当前规则追加到链的末尾)。
2.chain_name可以是INPUT,OUTPUT或FORWARD。
3.目标是在这种情况下(接受,拒绝或拒绝)要采取的措施或策略。
4.标准是要检查数据包的条件集。它由以下标志中的至少一个(很可能是更多)组成。括号内的选项由竖线分隔,彼此等效。其余代表可选开关:
[-协议| -p] protocol:指定规则所涉及的协议。[–source-port | -sport] port:[port]:定义数据包起源的端口(或端口范围)。[-目标端口| -dport] port:[port]:定义数据包发往的端口(或端口范围)。[-来源| -s] address [/ mask]:表示源地址或网络/掩码。[-目的地| -d] address [/ mask]:代表目标地址或网络/掩码。[–state]状态(以-m状态开头):根据数据包是否是状态连接的一部分来管理数据包,其中状态可以是NEW,ESTABLISHED,RELATED或INVALID。[-接口| -i]接口:指定包的输入接口。[–out-interface | -o] interface:输出接口。[-跳转| -j] target:当数据包符合规则时该怎么办。
示例
默认阻挡所有流量
iptables -A INPUT -s 0.0.0.0/0 -j REJECT
192.168.10.0/24 禁止访问 192.168.1.0/24
iptables -A INPUT -s 192.168.10.0/24 -d 192.168.1.0/24 -j REJECT
上面的命令将丢掉所有来自 所有 网络的网络包,而将只允许192.168.1.0/24网络和10.1.100.0/24网络通过端口 22 的流入流量。
iptables -A INPUT -S 0.0.0.0/0 -j DROP
iptables -I INPUT -s 192.168.1.0/24 -p tcp -m tcp --dport 22 -j ACCEPT
iptables -I INPUT -s 10.1.100.0/24 -p tcp -m tcp --dport 22 -j ACCEPT
S
erver1 192.168.10.134
Server2 192.168.10.132
Server2 10.1.100.129
Server3 10.1.100.128
10.1.100.0/24网络不能访问除了192.168.10.132以外的192.168.10.0/24网络
iptables -A FORWARD -s 10.1.100.0/24 -d 192.168.10.0/24 -j REJECT
10.1.100.0/24网络不能访问192.168.10.132
iptables -A OUTPUT -s 10.1.100.0/24 -d 192.168.10.0/24 -j REJECT
10.1.100.0/24网络不能访问192.168.10.0/24网络
iptables -A FORWARD -s 10.1.100.0/24 -d 192.168.10.0/24 -j REJECT
iptables -A FORWARD -s 10.1.100.0/24 -d 192.168.10.0/24 -j REJECT
查看规则
iptables -L
清除所有规则
iptables -F
保存规则
iptables-save > /etc/iptables/rules.v4
载入保存的规则
iptables-restore </etc/iptables/rules.v4