在使用Linux美国VPS或者服务器时,一般可以通过iptable配置防火墙规则(如配置端口号)。那么iptable防火墙端口配置规则究竟是怎样的?本文就简单的来介绍下。
iptables是Linux系统下的防火墙,同时也是服务名称,常用的命令有:
service iptables status 查看防火墙状态
service iptables start 开启防火墙
service iptables stop 关闭防火墙
service iptables restart 重启防火墙
防火墙开放特定端口
编辑文件/etc/sysconfig/iptables
然后添加:
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 8080 -j ACCEPT
注意:数字8080代表开放8080端口,也可以改成其它端口,例如22。
最后,保持并重启防火墙即可。
关闭所有INPUT、FORWARD(转发)、 OUTPUT端口
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
只打开特定的某一端口
iptables -A INPUT -p tcp –dport 8080 -j ACCEPT
iptables -A OUTPUT -p tcp –sport 8080 -j ACCEPT
参数讲解:
–A 参数就看成是添加一条规则。
–p 指定是什么协议,常用的tcp 协议,当然也有udp,例如53端口的DNS。
–dport就是目标端口,就数据从外部进入服务器的端口。
–sport数据从服务器出去,则为数据源端口使用。
–j 就是指定是ACCEPT-接收或DROP-不接收。
禁止某个IP访问
iptables -A INPUT -p tcp -s 192.168.0.4 -j DROP
–s 参数是来源(即192.168.0.4 IP地址)。
后面拒绝就是DROP。
查看iptables规则及编号
iptables -nL –line-number
删除iptables规则
iptables -D INPUT 3
即:删除INPUT链编号为3的规则

PS:更多参数请通过man iptables或iptables –help查看。
-n:以数字的方式显示ip,它会将ip直接显示出来,如果不加-n,则会将ip反向解析成主机名。
-L(大写)列表 例:iptbles -nL 查看iptables规则
-D 删除规则 (查到规则序号后、指定链、指定序号删掉) 例: iptables -D INPUT 1 (指顶删除INPUT链的第一条规则、默认是FILTER表、如果是其他的表需要-t指定表)
-F(大写)清除所有规则,不会处理默认的规则
-X(大写)删除用户自定义的链
-Z(大写)清除链的计数器
-A (大写)添加规则到指定链的结尾
-t 指定表(默认是filter表) 例:iptables -t filter -A INPUT -p tcp –dport 443 -j DROP #指定在filter表的input链的tcp协议443端口的请求丢弃
-p 匹配指定协议 (all(所有) 、tcp、udp、icmp(ping等)、默认all)
–dport 目的端口(对本地的端口做什么)
–sport 源端口(从那个端口连接过来的)
-j 处理的行为 {DROP(丢弃)、ACCEPT(接受)、REJECT(拒绝)、ACCEPT(接受)
-s 指定源ip地址
-d 目的地址
-i 匹配进入的网卡接口eth0或者eth1进行控制
最后需要注意的是,CentOS 7.0默认使用的是firewall作为防火墙,如果想要使用iptables,必须安装且配置好之后才能用。
相关阅读: