「这是我参与11月更文挑战的第16天,活动详情查看:2021最后一次更文挑战」。
前言
- 为了测试elasticsearch的功能,我在笔记本上安装了虚拟机,在虚拟机上安装了elk套装。但是发现最终虚拟机本地可以访问elasticsearch,但是主机确无法访问,
问题
- 后来知道是虚拟机防火墙的问题。
systemctl status firewalld.service命令能够查看当前防火墙的状态。
解决
- 关闭防火墙:
systemctl stop firewalld.service
- 下面列举下关于防火墙常用命令
systemctl status firewalld.service | 查看防火墙状态 |
|---|---|
systemctl stop firewalld.service | 关闭防火墙 |
systemctl disable firewalld.service | 开启禁用防火墙 |
systemctl start firewalld.service | 启动防火墙 |
systemctl enable firewalld.service | 开启自启防火墙 |
查询端口
查询端口是否开放 firewall-cmd --query-port=8080/tcp
开放80端口firewall-cmd --permanent --add-port=80/tcp
移除端口firewall-cmd --permanent --remove-port=8080/tcp
重启防火墙(修改配置后要重启防火墙)firewall-cmd --reload
参数解释
1、firwall-cmd:是Linux提供的操作firewall的一个工具; 2、--permanent:表示设置为持久; 3、--add-port:标识添加的端口;
五、Centos 切换为iptables防火墙
切换到iptables首先应该关掉默认的firewalld,然后安装iptables服务。
1、关闭firewall:
service firewalld stop systemctl disable firewalld.service #禁止firewall开机启动
2、安装iptables防火墙
yum install iptables-services
安装
3、编辑iptables防火墙配置
vi /etc/sysconfig/iptables #编辑防火墙配置文件
下边是一个完整的配置文件:
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 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
总结
- 防火墙是为了网络安全而生,但是作为程序员有的时候会因为防火墙导致接口调试等不通。这对于我们来说是极大的阻碍。所以在我们平时开发过程中最好是在内网中测试