iptables规则组成

一、四张表五条链

组成部分:四张表 + 5条链(Hook point) + 规则

四张表:filter nat mangle raw

五条链:PREROUTING INPUT FORWARD OUTPUT POSTROUTING

iptables table command chain Parameter & Xmatch target

-t filter

    nat

-A #追加

-D #删除

-L #列出

-F #恢复默认

-P #设置默认规则

-I #插入

-R #替换

-n #只显示 IP 地址和端口号

PREROUTING

INPUT

FORWARD

OUTPUT

POSTROUTING

-p tcp #协议名称

-s #发起的原地址

-d #目标地址

--sport #源端口

--dport #目标端口

--dports #目标端口段

-m tcp #补充

     state

     multiport

-j ACCEPT

   DROP

   REJECT

   DNAT

   SNAT

1、对所有的地址开放本机的tcp(80、22、10-21)端口的访问

iptables -t filter -I INPUT -p tcp --dport 80 -j ACCEPT

iptables -t filter -I INPUT -p tcp --dport 22 -j ACCEPT

iptables -t filter -I INPUT -p tcp --dport 10:21 -j ACCEPT

2、允许对所有的地址开放本机的基于ICMP协议的数据包访问

iptables -t filter -I INPUT -p icmp -j ACCEPT

3、其他未被允许的端口则禁止访问

iptables -t filter -A INPUT -j REJECT

二、删除某条规则

找到规则号:

iptables -L INPUT --line-numbers

iptables -L ufw-user-input --line-numbers

结果如下:

Chain ufw-user-input (1 references)
num  target     prot opt source               destination         
1    ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh
2    ACCEPT     udp  --  anywhere             anywhere             udp dpt:ssh
3    ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http
4    ACCEPT     udp  --  anywhere             anywhere             udp dpt:http
5    ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:mysql
6    ACCEPT     udp  --  anywhere             anywhere             udp dpt:mysql
7    ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:81
8    ACCEPT     udp  --  anywhere             anywhere             udp dpt:81
9    ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:11211
10   ACCEPT     udp  --  anywhere             anywhere             udp dpt:11211
11   ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:11212
12   ACCEPT     udp  --  anywhere             anywhere             udp dpt:11212

然后删除:

iptables -D ufw-user-input 7 

iptables
-D ufw-user-input 8

三、访问回环地址和访问外部网络

iptables -I INPUT -i lo -j ACCEPT ;-i 对应的网卡

iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

四、只允许某IP可以访问某端口

iptables -t filter -I INPUT -p tcp -s 1.1.1.1 --dport 80 -j ACCEPT

iptables -t filter -I INPUT -p tcp -s 1.1.1.1 --dport 22 -j ACCEPT

iptables -t filter -I INPUT -p tcp -s 1.1.1.1 --dport 10:21 -j ACCEPT

 

注意:进行iptables操作时要允许本机连接22端口,否则可能会失去对服务器控制。

posted @ 2016-11-08 16:43  观海云不远  阅读(644)  评论(0编辑  收藏  举报