外部访问Liunx某个服务访问不通,但是可以ping通,telnet端口却不行,那可能就是这个服务的端口没有开放,访问不到
linux查看服务端口号
#netstat - atulnp
会显示所有端口和所有对应的程序,用grep管道可以过滤出想要的字段
Centos7允许3306端口通过防火墙,通过firewall-cmd 开放端口,(–permanent永久生效,没有此参数重启后失效)
#firewall-cmd --zone=public --add-port=80/tcp --permanent //作用域是public,开放tcp协议的80端口,一直有效
#firewall-cmd --zone=public --add-port=80-90/tcp --permanent //作用域是public,批量开放tcp协议的80-90端口,一直有效
#firewall-cmd --zone=public --add-port=80/tcp --add-port=90/tcp --permanent //作用域是public,批量开放tcp协议的80、90端口,一直有效
firewall-cmd --zone=public --add-service=http --permanent //允许http通信,有可能会报警告,Warning: ALREADY_ENABLED: http,应该是不安全,反正开放端口就能也能http访问
firewall-cmd --permanent --zone=public --add-service=https //允许https通信,有可能会报警告,Warning: ALREADY_ENABLED: https
命令含义:
–zone #作用域
–add-port=80/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效
查询端口号80 是否开启
#firewall-cmd --query-port=80/tcp
重启防火墙,两种命令方式
#sudo systemctl reload firewalld
#firewall-cmd --reload
配置完成了要重启,比如开放3306这个端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
最后输入命令firewall-cmd --query-port=3306/tcp
,就可以看到一个yes,代表外部可以通过这个端口访问服务了,no代表没有开放
Liunx系统下关闭防火墙
一、重启后永久性生效:
开启:
chkconfig iptables on
关闭:
chkconfig iptables off
二、即时生效,重启后失效:
开启:
service iptables start
关闭:
service iptables stop
centOS7下关闭防火墙与centOS6及之前的命令有所不同:
centOS7的命令:
systemctl stop firewalld
centOS6及之前的命令:
service iptables stop