iptabels
[root@www ~]# iptables [-AI链名] [-io网路介面] [-p协定] \
> [-s来源IP/网域] [-d目标IP/网域] -j [ACCEPT |DROP|REJECT|LOG]
选项与参数:
-AI 链名:针对某的链进行规则的"插入" 或"累加"
-A :新增加一条规则,该规则增加在原本规则的最后面。例如原本已经有四条规则,
使用-A 就可以加上第五条规则!
-I :插入一条规则。如果没有指定此规则的顺序,预设是插入变成第一条规则。
例如原本有四条规则,使用-I 则该规则变成第一条,而原本四条变成2~5 号
链:有INPUT, OUTPUT, FORWARD 等,此链名称又与-io 有关,请看底下。
-io 网路介面:设定封包进出的介面规范
-i :封包所进入的那个网路介面,例如eth0, lo 等介面。需与INPUT 链配合;
-o :封包所传出的那个网路介面,需与OUTPUT 链配合;
-p 协定:设定此规则适用于哪种封包格式
主要的封包格式有: tcp, udp, icmp 及all 。
-s 来源IP/网域:设定此规则之封包的来源项目,可指定单纯的IP 或包括网域,例如:
IP :192.168.0.100
网域:192.168.0.0/24, 192.168.0.0/255.255.255.0 均可。
若规范为『不许』时,则加上! 即可,例如:
-s ! 192.168.100.0/24 表示不许192.168.100.0/24 之封包来源;
-d 目标IP/网域:同-s ,只不过这里指的是目标的IP 或网域。
-j :后面接动作,主要的动作有接受(ACCEPT)、丢弃(DROP)、拒绝(REJECT)及记录(LOG)
设置局域网可访问
范例:只要是来自内网的(192.168.100.0/24)的封包通通接受
[root@www ~]# iptables -A INPUT -i eth1 -s 192.168.100.0/24 -j ACCEPT
#由于是内网就接受,因此也可以称之为『信任网域』啰。
[root@www ~]# iptables [-AI链] [-io网路介面] [-p tcp,udp] \
> [-s来源IP/网域] [--sport埠口范围] \
> [- d目标IP/网域] [--dport埠口范围] -j [ACCEPT|DROP|REJECT]
选项与参数:
--sport 埠口范围:限制来源的埠口号码,埠口号码可以是连续的,例如1024:65535
--dport 埠口范围:限制目标的埠口号码。
设置开放8099端口
iptables -I INPUT -p tcp --dport 8099 -j ACCEPT
范例:想要连线进入本机port 21的封包都抵挡掉:
[root@www ~]# iptables -A INPUT -i eth0 -p tcp --dport 21 -j DROP
范例:想连到我这部主机的网芳(upd port 137,138 tcp port 139,445)就放行
[root@www ~]# iptables -A INPUT -i eth0 -p udp --dport 137:138 -j ACCEPT
[root @www ~]# iptables -A INPUT -i eth0 -p tcp --dport 139 -j ACCEPT
[root@www ~]# iptables -A INPUT -i eth0 -p tcp --dport 445 -j ACCEPT
