Linux下防火墙开启相关端口及查看已开启端口

有时候我们辛辛苦苦安装了一个服务却发现无法访问,以为自己没有安装成功,其实解决的方法很简单,就是开启一下相关端口。比如说我安装了Nginx或Apache,那么就需要在防火墙上放行80端口。相关实例代码如下。

/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT #开启80端口

/sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT #开启22端口

/etc/rc.d/init.d/iptables save #保存配置

/etc/rc.d/init.d/iptables restart #重启服务

查看已开放端口

/etc/init.d/iptables status

结果如下

Table: filter

Chain INPUT (policy ACCEPT)

num target prot opt source destination

2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22

3 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80

 

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端口,也可以改成其他的端口★

③重启防火墙

================================================================

保存对防火墙的设置

serivce iptables save

查看iptables规则及编号

iptables -nL --line-number

关闭所有的INPUT FORWARD(转发) OUTPUT的所有端口

iptables -P INPUT DROP

iptables -P FORWARD DROP

iptables -P OUTPUT DROP

只打开22端口

iptables -A  INPUT -p tcp --dport 22 -j ACCEPT

iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT

参数讲解:

–A 参数就看成是添加一条规则

–p 指定是什么协议,我们常用的tcp 协议,当然也有udp,例如53端口的DNS

–dport 就是目标端口,当数据从外部进入服务器为目标端口

–sport 数据从服务器出去,则为数据源端口使用

–j 就是指定是 ACCEPT -接收 或者 DROP 不接收

禁止某个IP访问

iptables -A INPUT -p tcp -s 192.168.1.2 -j DROP

–s 参数是来源(即192.168.1.2)

后面拒绝就是DROP

删除规则

iptables -D INPUT 2

删除INPUT链编号为2的规则

posted @ 2014-11-10 11:29  xiaotou745  阅读(1570)  评论(0编辑  收藏  举报