8种机械键盘轴体对比
本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?
Linux部署篇 - 如何通过修改防火墙配置使指定端口允许外部访问。
0x00 简介
刚开始在linux上部署项目的时候,往往会出现某些带端口的项目可以运行,但是实际却无法打开页面访问。这里出现的问题有可能是你没有以生产模式启动应用,以nodejs应用举例的话你可能没有npm start --production,但是大多数情况下还是linux防火墙的锅,接下来我们就来讲讲linux防火墙如何开启指定的端口。本文将主要讲解服务器环境为centos6.x下的配置,文章最后补充了关于centos7.x的防火墙配置。
0x01 Centos6.x
iptables,请记住这个单词,它既是linux中一个服务,也是一个配置文件,当然作用就是管理防火墙的。
服务service iptables status 查看防火墙状态
service iptables start 启用防火墙
service iptables stop 关闭防火墙
service iptables restart 重启防火墙
首先查看当前所有的防火墙规则1iptables -L -n
开启某个端口,例如开启3000端口:1iptables -A INPUT -p tcp --dport 8000 -j ACCEPT
简单的解释下这里的几个参数:-A 参数表示添加规则,此外-D表示删除规则
-p 表示协议,一般都是tcp
–dport 就是指定端口号
-j 指定是ACCEPT还是DROP,接收还是抛弃
关于命令的更多细节可以通过iptables -h查看。
配置文件
防火墙的配置文件在/etc/sysconfig/iptables
同样的,我们想要开启某个端口也可以编辑该文件并添加规则,例如开启3000端口:1
2
3
4vi /etc/sysconfig/iptables
...
-A INPUT -p tcp --dport 8000 -j ACCEPT
...
在我们添加完指定端口号后,最后保存配置以及重启防火墙:1
2service iptables save
service iptables restart
0x02 Centos7.x
centos7.x对于6.x的一个比较大的变化在于服务这一块,就是7将6的服务功能整合成了一个命令systemctl,systemctl很强大,可以干很多事情。在防火墙上也有变化,7的防火墙服务名为firewalld.service,以及防火墙命令为firewall-cmd。同样的开启8000端口,在7上的操作如下。1$ firewall-cmd --zone=public --add-port=8000/tcp --permanent
防火墙服务的开关以及重启:1
2
3$ systemctl stop firewalld.service
$ systemctl start firewalld.service
$ systemctl restart firewalld.service