Linux 对外开放端口

第一种方式
(1)查看对外开放的端口状态
         查询已开放的端口 netstat  -ntulp | grep 端口号:可以具体查看某一个端口号
         查询指定端口是否已开 firewall-cmd --query-port=666/tcp
           提示 yes,表示开启;no表示未开启。

(2)查看防火墙状态
         查看防火墙状态 systemctl status firewalld
         开启防火墙 systemctl start firewalld  
         关闭防火墙 systemctl stop firewalld
         开启防火墙 service firewalld start 
         若遇到无法开启
         先用:systemctl unmask firewalld.service 
         然后:systemctl start firewalld.service

(3)对外开发端口
       查看想开的端口是否已开:firewall-cmd --query-port=6379/tcp
       添加指定需要开放的端口:firewall-cmd --add-port=123/tcp --permanent
       重载入添加的端口:firewall-cmd --reload
       查询指定端口是否开启成功:firewall-cmd --query-port=123/tcp

  查看已经开放的端口:firewall-cmd --list-ports

       移除指定端口:firewall-cmd --permanent --remove-port=123/tcp

第二种方式
       安装iptables-services : yum install iptables-services

       进入下面目录进行修改: /etc/sysconfig/iptables

 iptables详解:https://www.zsythink.net/archives/1199

 linux系统的端口设置在/etc/sysconfig/iptables文件中配置。使用编辑器打开该文件。内容如下:

# 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 -j REJECT --reject-with icmp-host-prohibited

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

COMMIT

网上说的是如下code

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3001 -j ACCEPT

我在CentOS6.5中测试上面的代码,不能成功。

如果我们需要对外开放80端口,则上面文件中添加如下code

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

同时还需要注意的是,这段代码需要加入到

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

之后,否则端口也不能打开。最后的配如下:

# 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 8080 -j ACCEPT

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

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

COMMIT

编辑上面的文件 需要提供su权限.

保存上面的文件后,在终端运行如下命令:更新防火墙配置

service iptables restart

下面这个命令可以看到开放的端口

/sbin/iptables -L -n

 

下面的命令可以关闭/打开防火墙(需要重启系统)

开启: chkconfig iptables on

关闭: chkconfig iptables off

下面的代码可以启动和停止防火墙(立即生效,重启后失效)

开启: service iptables start 

关闭: service iptables stop
————————————————
版权声明:本文为CSDN博主「laidanlove250」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/laidanlove250/article/details/97667113

原文地址:https://www.cnblogs.com/drunkPullBreeze/p/14692867.html