ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 如何查看远程端口是否打开 使用netcat ~~~ yum install nc ~~~ 检查192.168.1.15的22端口是否开放 ~~~ nc -zv 192.168.1.15 22 ~~~ **多个端口查询** 检查远程主机 192.168.5.10 上是否打开了端口 80、22 和 21 ~~~ nc -zv 192.168.56.10 80 22 21 ~~~ # **端口访问设置** >[danger]端口的开放有两种方式即firewall与iptables 区别: >* CentOS默认安装了firewalld,在 RHEL7 系统中,firewall 取代了 iptables。在 service 层面,两者是平级的,firewall 还是调用了 iptables 的 command,去执行内核的 netfilter >* iptables service 在 /etc/sysconfig/iptables 中储存配置,而 firewalld 将配置储存在 /usr/lib/firewalld/ 和 /etc/firewalld/ 中的各种 XML 文件里。要注意,当 firewalld 在Red Hat Enterprise Linux上安装失败时, /etc/sysconfig/iptables 文件就不存在。 >* 使用 iptables service,每一个单独更改意味着清除所有旧有的规则和从 /etc/sysconfig/iptables里读取所有新的规则,然而使用 firewalld 却不会再创建任何新的规则;仅仅运行规则中的不同之处。因此,firewalld 可以在运行时间内,改变设置而不丢失现行连接 ### [如何使用firewall防火墙 以及 如何关闭firewall并开启iptables防火墙](https://www.cnblogs.com/crowsong/p/9394673.html) ## **iptables** iptables位于iptables文件中 ``` find / -name iptables ``` 即开放的端口位于/etc/sysconfig/iptables中 查看时可通过 more /etc/sysconfig/iptables 命令查看 如果想开放端口(如:8889) **(1)** 通过vi /etc/sysconfig/iptables 进入编辑增添一条`-A INPUT -p tcp -m tcp --dport 8889 -j ACCEPT` 即可 **(2)** 执行 /etc/init.d/iptables restart 命令将iptables服务重启(service iptables restart) >[danger]ps:Linux 服务管理两种方式service和systemctl **(3)** 保存 /etc/rc.d/init.d/iptables save 如若不想修改iptables表,可以直接输入下面命令: ``` iptables -I INPUT -p tcp --dport 8889 -j ACCEPT ///sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT ``` 示例: **直接修改iptables文件** 添加端口80,8080,3306,3690端口 ~~~ -A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 3690 -j ACCEPT ~~~ 请注意添加的位置,应在22端口的上面或者下面,但是不应在最底 ![](https://img.kancloud.cn/3f/ef/3fef34a60d0064199a10430c840a4440_607x271.png) 然后重启 `service iptables restart`或者`systemctl enable iptables.service` ## **firewall** ### **linux的CentOS版本firewall开放指定端口命令** ~~~ 1、开启防火墙      systemctl start firewalld 2、开放指定端口       firewall-cmd --zone=public --add-port=1935/tcp --permanent  命令含义: --zone #作用域 --add-port=1935/tcp  #添加端口,格式为:端口/通讯协议 --permanent  #永久生效,没有此参数重启后失效 3、重启防火墙       firewall-cmd --reload 4、查看端口号 netstat -ntlp   //查看当前所有tcp端口· netstat -ntulp |grep 1935   //查看所有1935端口使用情况· ~~~ ~~~ firewall-cmd --zone=public --add-port=3306/tcp --permanent firewall-cmd --zone=public --add-port=22/tcp --permanent firewall-cmd --zone=public --add-port=9501/tcp --permanent #批量开放或限制端口 firewall-cmd --zone=public --add-port=100-500/tcp --permanent 开放100~500端口 firewall-cmd --reload #或者 systemctl restart firewalld.service 重新载入一下防火墙设置,使设置生效(更改之后必须进行此操作才能生效) firewall-cmd --query-port=3306/tcp # 检查是否ok 提示yes则通过了防火墙 firewall-cmd --zone=public --list-ports #可查看当前系统打开的所有端口 #关掉指定端口访问 firewall-cmd --zone=public --remove-port=22/tcp --permanent ~~~