Centos6/7 防火墙配置说明

Centos6 防火墙配置

vi /etc/sysconfig/iptables

# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state –-state NEW -m tcp –dport 80 -j ACCEPT
-A INPUT -p tcp -m state –-state NEW -m tcp –dport 8080 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

说明

#CentOS6
#开放端口运行外部访问(不指定源IP)
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -p tcp --dport 22 -j ACCEPT
iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

#定向开放本地端口允许访问
iptables -I INPUT -s 10.86.87.0/24 -p tcp --dport 10050 -j ACCEPT

#然后保存:
/etc/rc.d/init.d/iptables save
/etc/init.d/iptables status

#防火墙启停
/etc/init.d/iptables start
/etc/init.d/iptables stop

禁止linux向外建立新连接(INPUT 向内)
1、iptables -I OUTPUT -m state --state NEW -j DROP

#拒绝IP所有请求
iptables -I INPUT -s 10.86.87.123 -j DROP
service iptables save
iptables -L

Centos7 防火墙配置

1、端口访问策略

# 查询端口是否开放
firewall-cmd --query-port=8080/tcp
# 开放80端口
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=8080-8085/tcp
# 开放IP网段
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="139.129.0.0/24" port protocol="tcp" port="8000-9000" accept"
# 移除端口
firewall-cmd --permanent --remove-port=8080/tcp
# 查看防火墙的开放的端口
firewall-cmd --permanent --list-ports
# 移除ssh默认策略
firewall-cmd --permanent --remove-service=ssh

#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload

2、端口转发策略 

#端口转发配置
#先开启防火墙伪装
firewall-cmd --add-masquerade --permanent //开启后才能转发端口
#将本机80端口转发到192.168.1.1的8080端口上
firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080:toaddr=192.168.1.1 --permanent
#删除转发规则
firewall-cmd --remove-forward-port=port=80:proto=tcp:toport=8080:toaddr=192.168.1.1 --permanent
#查看当前转发规则列表
firewall-cmd --list-forward-ports

 

参数说明

# 参数解释
1、firwall-cmd:是Linux提供的操作firewall的一个工具;
2、--permanent:表示设置为持久;
3、--add-port:标识添加的端口;
服务配置
启动服务:systemctl start firewalld
关闭服务:systemctl stop firewalld
重启服务:systemctl restart firewalld
查看服务状态:systemctl status firewalld
开机自启服务:systemctl enable firewalld
开机禁用服务:systemctl disable firewalld
查看是否开机自启:systemctl is-enable firewalld

PS:systemctl常见其他命令:

查看已启动的服务列表:systemctl list-unit-files | grep enabled
查看启动失败的服务列表:systemctl --failed
规则配置
查看版本:firewall-cmd --version
查看帮助:firewall-cmd --help
查看状态:firewall-cmd --state
查看所有打开的端口:firewall-cmd --list-ports
查看所有规则:firewall-cmd --list-all
重载规则:firewall-cmd --reload
查看区域信息:firewall-cmd --get-active-zones
查看指定接口所属区域: firewall-cmd --get-zone-of-interface=enp4s0
拒绝所有包:firewall-cmd --panic-on
取消拒绝所有包: firewall-cmd --panic-off
查看是否拒绝: firewall-cmd --query-panic

端口转发可能的错误

如果配置完以上规则后仍不生效,可能是由于内核参数文件sysctl.conf未配置ip转发功能,具体配置如下:
vi /etc/sysctl.conf
在文本内容中添加:net.ipv4.ip_forward = 1
保存文件后,输入命令sysctl -p生效

执行完所有的命令,都需要reload,不然不生效。
firewall-cmd --reload

Docker 容器出现无法与宿主机通信的情况,可尝试以下操作

firewall-cmd --permanent --zone=trusted --change-interface=docker

# 重新加载生效
firewall-cmd --reload

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hu_wenjie

您的鼓励将是我创作最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值