linux操作系统防火墙
Centos6,Centos7启动服务命令对比
1 2 3 4 5 6 | Centos6:对于Centos6系统来说,直接使用chkconfig命令即可。 例如我们以nginx服务为例: chkconfig --add nginx #添加nginx服务 chkconfig nginx on #开机自启nginx服务 chkconfig nginx off #关闭开机自启 chkconfig --list | grep nginx #查看 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | Centos7:对于Centos7系统来说,直接使用enable即可。 示例: systemctl enable nginx.service #开机自启nginx服务 systemctl disable nginx.service #关闭开机自启 systemctl list-unit-files #列出所有开机启动服务 启动一个服务:systemctl start firewalld.service 关闭一个服务:systemctl stop firewalld.service 重启一个服务:systemctl restart firewalld.service 显示一个服务的状态: systemctl status firewalld.service 在开机时启用一个服务:systemctl enable firewalld.service 在开机时禁用一个服务:systemctl disable firewalld.service 查看服务是否开机启动:systemctl is-enabled firewalld.service 查看已启动的服务列表:systemctl list-unit-files|grep enabled 查看启动失败的服务列表:systemctl --failed |
firewalld-cmd 命令:
1 2 3 4 5 6 7 8 9 10 | 查看版本: firewall-cmd --version 查看帮助: firewall-cmd --help 显示状态: firewall-cmd --state 查看所有打开的端口: firewall-cmd --zone=public --list-ports 更新防火墙规则: firewall-cmd --reload 查看区域信息: firewall-cmd --get-active-zones 查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0 拒绝所有包:firewall-cmd --panic-on 取消拒绝状态: firewall-cmd --panic-off 查看是否拒绝: firewall-cmd --query-panic |
开放或删除80端口
1 2 3 4 | firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效) 重新载入:firewall-cmd --reload 查看:firewall-cmd --zone= public --query-port=80/tcp 删除:firewall-cmd --zone= public --remove-port=80/tcp --permanent |
1 2 3 4 5 6 7 8 9 10 11 12 | 说明: --zone #作用域 --add-port=80/tcp #添加端口,格式为:端口/通讯协议 --permanent 永久生效,没有此参数重启后失效 多个端口: firewall-cmd --zone=public --add-port=80-90/tcp --permanent 删除端口 firewall-cmd --zone=public --remove-port=80/tcp --permanent 重新加载配置 firewall-cmd --reload 查看防火墙规则 firewall-cmd --list-all |
指定IP和端口
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="80" accept"
指定IP允许访问所有
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.100" accept"
指定IP段可以访问
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="80" accept"
删除规则:
firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="80" accept"
拒绝访问:-j DROP
- DROP 直接丢掉
- ACCEPT 允许通过
- REJECT 丢掉,但是回复信息
禁止访问81端口
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.30.153" port protocol="tcp" port="81" drop"
禁用某个IP
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.30.153" drop"
centos 7 关闭 firewall 使用iptables
1.关闭firewall ,禁止开机启动
systemctl stop firewalld.service #关闭firewall
systemctl disable firewalld.service #禁止firewall开机自启
2.安装iptables服务包
yum install iptables-services
3.vim /etc/sysconfig/iptables
Centos 7 防火墙配置文件路径:/etc/firewalld/zones/public.xml
保存后,运行: firewall-cmd --complete-reload 就行了
也可以直接通过以后命令添加:firewall-cmd --zone=public --add-port=3306/tcp --permanent
centos7
图形界面:
systemctl set-default graphical.target
命令行:
systemctl set-default multi-user.target
iptables实时查看命令规则:
watch -n 1 ‘iptables -L -n -v’ #看防火墙
watch -n 1 "ipvsadm -Ln" #看LVS
端口转发配置
centos7 -> firewalld
#1、开启转发功能
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p
#2、开启 IP 伪装 ,查看firewall-cmd --list-all ,其中 masquerade: yes
firewall-cmd --add-masquerade --zone=public --permanent
#3、将访问192.168.0.141主机8080端口的请求转发至192.168.0.142的80端口;
firewall-cmd --permanent --zone=public --add-forward-port=port=8080:proto=tcp:toaddr=192.168.0.142:toport=80
centos6 -> iptables
将本机的8080端口转发至其他主机,主机IP:192.168.1.146,目标主机IP和端口:192.168.1.147:80,规则如下;
iptables -t nat -A PREROUTING -d 192.168.1.146/32 -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.1.147:80
iptables -t nat -A POSTROUTING -d 192.168.1.147/32 -p tcp -m tcp --dport 80 -j SNAT --to-source 192.168.1.146
#加载配置,如果重启iptables则把内容写到配置文件中
service iptables reload
本文来自博客园,作者:此生逍遥py,转载请注明原文链接:https://www.cnblogs.com/csxy-py/p/16776196.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!