首页 > OS > linux > > 正文

Linux 如何打开端口和设置防火墙

发布人:zhoulujun@live.cn    点击:

在公司拿了个 centos 6 0 的包 …(百度网盘有然后,重新配置……像打开 80 端口 ,3360 8080 端口什么的,难搞方法一:命令行方

在公司拿了个 centos 6.0 的包 …(百度网盘有

然后,重新配置…… 

像打开 80 端口 ,3360  8080 端口什么的,难搞


方法一:命令行方式

               1. 开放端口命令: /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

               2.保存:/etc/rc.d/init.d/iptables save

               3.重启服务:/etc/init.d/iptables restart

               4.查看端口是否开放:/sbin/iptables -L -n

    

方法二:直接编辑/etc/sysconfig/iptables文件


vi /etc/sysconfig/iptables 

-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT(允许80端口通过防火墙) 

-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT(允许3306端口通过防火墙) 

特别提示:很多网友把这两条规则添加到防火墙配置的最后一行,导致防火墙启动失败,正确的应该是添加到默认的22端口这条规则的下面

  注:需要注意开放端口的具体协议(标黄的是端口或协议),我当时开放一个端口时,协议搞错了,找了好久才找到原因


添加好之后防火墙规则如下所示:(可以下面文件编辑好后,粘贴覆盖 源文件

###################################### 

# Firewall configuration written by system-config-firewall 

# Manual customization of this file is not recommended. 

*filter 

:INPUT ACCEPT [0:0] 

:FORWARD ACCEPT [0:0] 

:OUTPUT ACCEPT [0:0] 

-A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT 

-A INPUT -p icmp -j ACCEPT 

-A INPUT -i lo -j ACCEPT 

-A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT 

-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT 

-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT 

-A INPUT -j REJECT –reject-with icmp-host-prohibited 

-A FORWARD -j REJECT –reject-with icmp-host-prohibited 

COMMIT 

#####################################

/etc/init.d/iptables restart   #最后重启防火墙使配置生效

重启防火墙,这里有两种方式重启防火墙   

a) 重启后生效

  开启: chkconfig iptables on

  关闭: chkconfig iptables off   

b) 即时生效,重启后失效

  开启: service iptables start

  关闭: service iptables stop   


  3、或者用menu-system-administration-firewall 去添加用户需要的端口。


By the way:

 a.  netstat -tanp 去显示端口状态。

     /usr/sbin/lsof -i 


b. telnet ipaddr port

    to check if ip and port is available before making connection.