linux对外开放服务端口

https://www.cnblogs.com/xhj123/p/12363721.html


linux对外开放服务端口

在实际的应用中,时常发现无法访问到远程服务提供的端口,这个时候,就需要linux对外开发服务的端口。


我使用的服务器linux系统为centos7,以下在服务器的命令行演示端口是如何开放的:


1.查看服务器的防火墙时候打开


使用 systemctl status firewalld 指令,如果显示active,说明防火墙正常运行;否则需要打开防火墙



2.运行防火墙


使用 systemctl start firewalld 指令。


如果开启失败,先执行:

systemctl unmask firewalld.service


然后,再执行:

systemctl start firewalld.service


3.对外开放端口


查询端口是否对外开放: firewall-cmd --query-port=8082/tcp

如果开放则返回yes,否则返回no


如果没开放,需要执行: firewall-cmd --add-port=8082/tcp --permanent


然后,重新加载防火墙的端口,执行: firewall-cmd --reload


执行后,再次查看端口对外开放状态,确认端口已对外开放


如果需要取消对外开放的端口,使用: firewall-cmd --permanent --remove-port=8082/tcp 命令


参考:

1.linux下打开对外开放端口号 :https://blog.csdn.net/laidanlove250/article/details/97667113


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

linux下打开对外开放端口号

laidanlove250 2019-07-29 18:59:33 

 6193  收藏 14

版权

第一种方式

(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 --permanent --remove-port=123/tcp

第二种方式

             安装iptables-services : yum install iptables-services

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


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

1

2

3

4

5

6

7

8

9

10

11

12

13

# 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

?

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

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

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

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

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

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

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

# 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权限.

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

1service iptables restart

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

1/sbin/iptables -L -n


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


1

2

开启: chkconfig iptables on

关闭: chkconfig iptables off

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


1

2

开启: service iptables start 

关闭: service iptables stop

你可能感兴趣的:(linux对外开放服务端口)