linux开放端口的方法

一.

1.直接编辑/etc/sysconfig/iptables文件 

2.编辑/etc/sysconfig/iptables文件:vi /etc/sysconfig/iptables 加入内容并保存:

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

2.重启服务:/etc/init.d/iptables restart

​ service iptables save

3.查看端口是否开放:/sbin/iptables -L -n

   (1)使用netstat -aptn命令行,查看所有开启的端口号

  

 

   (2)查看系统中所有使用udp协议的端口号

   

 

   (3)查看系统中使用tcp协议的端口号信息

  

 

   (4)客户机的测试方法

    就是使用Telnet ip 端口号命令

 

二.

启动CentOS/RHEL 7后,防火墙规则设置由firewalld服务进程默认管理。
一个叫做firewall-cmd的命令行客户端支持和这个守护进程通信以永久修改防火墙规则.

#查看防火墙状态
systemctl status firewalld  
#开启80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent  
#开启3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent  
#重启防火墙:
firewall-cmd --reload  

 

查看 firewall  状态 :
# firewall-cmd --state   # eg :running

查看 firewall 版本 :
# firewall-cmd --version #eg : 0.4.3.2

重启防火墙  
# systemctl restart firewalld

#查看所有的zone信息
# firewall-cmd --list-all-zones    

#查看默认zone是哪一个
# firewall-cmd --get-default-zone     

#临时修改接口p3p1所属的zone为internal
# firewall-cmd --zone=internal --change-zone=p3p1  

#暂时开放http
# firewall-cmd --add-service=http    

#永久开放http
# firewall-cmd --permanent --add-service=http  

#在public中永久开放80端口
# firewall-cmd --zone=public --add-port=80/tcp --permanent  

#从public zone中移除服务
# firewall-cmd --permanent --zone=public --remove-service=ssh   

#重新加载配置
# firewall-cmd --reload   

查看一下防火墙现在开启了哪些服务和端口  
[root@localhost ~]# firewall-cmd --list-all  
public (default, active)  
  interfaces: eno16777736  
  sources:   
  services: dhcpv6-client ssh  
  ports: 8080/tcp  
  masquerade: no  
  forward-ports: port=80:proto=tcp:toport=8080:toaddr=  
  icmp-blocks:   
  rich rules: 

设置默认的zone  
irewall-cmd --get-default-zone  
firewall-cmd --set-default-zone=trusted  
#开放80 端口
# firewall-cmd --zone=public --add-port=80/tcp --permanent    

命令含义:

--zone #作用域
--add-port=80/tcp  #添加端口,格式为:端口/通讯协议
--permanent   #永久生效,没有此参数重启后失效

从public移除 interface  
# firewall-cmd --zone=public  --remove-interface=eno16777736  

查询外网端口  
# firewall-cmd --permanent --query-port=8080/tcp  
  
删除8080端口,禁止外网访问  
# firewall-cmd --permanent --remove-port=8080/tcp   
  
添加8080端口,供外网访问  
# firewall-cmd --permanent --add-port=8080/tcp   

暂时开放ftp服务
firewall-cmd --add-service=ftp

永久开放ftp服务
firewall-cmd --add-service=ftp --permanent

永久关闭ftp服务
firewall-cmd --remove-service=ftp --permanent


打开mysql 3306端口并 设置外部访问
mysql安装后默认是localhost访问,如果需要外部访问可以设置一个新的账号把host改为%,意味着所有ip均可以访问

grant all privileges on *.* to 'outUser'@'%' identified by '12' with grant option

然后

flush privileges;

就可以使用outUser账户密码12来外部访问,有的时候无法访问需要打开防火墙开放端口

centos 7 中使用的是firewall-cmd命令

打开3306端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent
 

 

posted @ 2019-11-26 11:29  憨憨青年  阅读(1969)  评论(0编辑  收藏  举报
// 侧边栏目录 // https://blog-static.cnblogs.com/files/douzujun/marvin.nav.my1502.css