# ipset - 禁止屏蔽海外国外IP访问

https://abc.htmltoo.com/thread-46521.htm

# ipset 封禁ip

https://abc.htmltoo.com/thread-46816.htm


yum install -y firewalld

systemctl status firewalld

# 开启防火墙

systemctl start firewalld.service

# 防火墙开机启动

systemctl enable firewalld.service

# 重启

systemctl restart firewalld;

# 关闭防火墙

systemctl stop firewalld.service

# 查看防火墙状态

firewall-cmd --state

#查看区域信息

firewall-cmd--get-active-zones

#查看指定接口所属区域

firewall-cmd--get-zone-of-interface=eth0

# 查看现有的规则

firewall-cmd --list-all

iptables -nL

# 重载防火墙配置

firewall-cmd --reload


# 开启转发,docker要注意

firewall-cmd --add-masquerade --permanent

# 查看转发情况,结果是yes了

firewall-cmd --query-masquerade


# 将接口添加到区域,默认接口都在public

firewall-cmd --zone=public --add-interface=eth0

# 开启nat

firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -i eth0 -p gre -j ACCEPT


#禁用firewalld

systemctl mask firewalld

#解锁firewalld

systemctl unmask firewalld

systemctl disable firewalld

systemctl stop firewalld

systemctl mask firewalld

systemctl disable firewalld.service

# 卸载

yum remove -y firewalld


#查看开放的端口

firewall-cmd --list-ports


#将接口添加到区域,默认接口都在public

firewall-cmd  --permanent --zone=public --add-interface=docker0

# 添加单个单端口

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

# 添加多个端口

firewall-cmd --permanent --zone=public --add-port=8080-8083/tcp

# 删除某个端口

firewall-cmd --permanent --zone=public --remove-port=81/tcp

# 针对某个 IP开放端口

firewall-cmd --permanent  --zone=public  --add-rich-rule="rule family="ipv4" source address="192.168.142.166" port protocol="tcp" port="6379" accept"

firewall-cmd --permanent  --zone=public  --add-rich-rule="rule family="ipv4" source address="192.168.0.233" accept"

# 删除某个IP

firewall-cmd --permanent --zone=public  --remove-rich-rule="rule family="ipv4" source address="192.168.1.51" accept"

# 针对一个ip段访问

firewall-cmd --permanent --zone=public  --add-rich-rule="rule family="ipv4" source address="192.168.0.0/16" accept"

firewall-cmd --permanent --zone=public  --add-rich-rule="rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="9200" accept"

# 禁ip段

firewall-cmd --permanent --zone=public --add-rich-rule 'rule family="ipv4" source address="92.119.0.0/16" drop' 

firewall-cmd --permanent --zone=public --add-rich-rule 'rule family="ipv4" source address="194.49.0.0/16" drop' 

firewall-cmd --permanent --zone=public --add-rich-rule 'rule family="ipv4" source address="188.95.0.0/16" drop' 

firewall-cmd --permanent --zone=public --add-rich-rule 'rule family="ipv4" source address="194.33.45.0/24" drop' 


---允许192.168.1.10所有访问所有端口

firewall-cmd --zone=public --add-rich-rule 'rule family="ipv4" source address="192.168.1.10" accept' --permanent

---移除192.168.1.10所有访问所有端口

firewall-cmd --zone=public --remove-rich-rule 'rule family="ipv4" source address="192.168.1.10" accept' --permanent

---允许192.168.2.0/24(0-255)所有访问所有端口

firewall-cmd --zone=public --add-rich-rule 'rule family="ipv4" source address="192.168.2.0/24" accept' --permanent

---允许192.168.1.10所有访问TCP协议的22端口

firewall-cmd --zone=public --add-rich-rule 'rule family="ipv4" source address="192.168.1.10" port port=22 protocol=tcp reject' --permanent

---移除192.168.1.10所有访问TCP协议的22端口

firewall-cmd --zone=public --remove-rich-rule 'rule family="ipv4" source address="192.168.1.10" port port=22 protocol=tcp reject' --permanent

---防火墙重新载入(必须重新载入后才能生效)

firewall-cmd --reload

---查看rich-rules(富规则)

firewall-cmd --list-rich-rules

---查看防火墙服务规则

firewall-cmd --list-services

---查看 防火墙所有规则

firewall-cmd --list-all

---查看防火墙所有区域的配置规则

firewall-cmd --list-all-zones

---查看默认区域

firewall-cmd --get-default-zone

---查看网络接口使用区域

firewall-cmd --get-active-zones

---查看默认的可用服务

firewall-cmd --get-services

---要启用或禁用HTTP服务

firewall-cmd --zone=public --add-service=http --permanent

firewall-cmd --zone=public --remove-service=http --permanent 


提示

可以根据自己的需求更改设置

accept 允许

reject 拒绝, 会返回一个拒绝(终止)数据包 (内网调试-比较好)

drop 拒绝, 直接丢弃数据,并不反馈任何回应 (外网-比较好)


--add-rich-rule 添加设置

--remove-rich-rule 移除设置

--permanent 永久生效, 需要重新载入后生效


其他参考

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

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

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

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

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

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

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

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

systemctl restart firewalld #重启firewalld服务,使配置生效/可查


---默认情况下,公共区域是启用防火墙服务后的默认区域。要列出所有可用区域,请运行:

firewall-cmd --get-zones

---以下命令用于更改默认区域并进行验证。

firewall-cmd --set-default-zone=home

firewall-cmd --get-default-zone

---以下命令用于永久打开:

firewall-cmd --zone=public --permanent --add-service=http

firewall-cmd --zone=public --permanent --add-service=https

---要实施更改,我们需要重新加载防火墙:

firewall-cmd --reload

---检查开放的端口/服务:

firewall-cmd --list-all


#centos

dnf install epel-release

dnf update

dnf install firewalld

systemctl enable firewalld --now

systemctl enable firewalld

systemctl start firewalld

systemctl status firewalld


#debian 

apt update

apt -y install firewalld

firewall-cmd --state

systemctl status firewalld


#  firewalld服务

vi /etc/firewalld/services/tcp.xml

<service>
  <short>tcp</short>
  <description>nginx</description>
  <port protocol="tcp" port="80"/>
  <port protocol="tcp" port="443"/>
</service>

-才能添加这个服务

firewall-cmd --zone=public --permanent --add-service=tcp

firewall-cmd --zone=public --permanent --remove-service=tcp

firewall-cmd --reload


-白名单whitelist

firewall-cmd  --permanent  --new-zone=whitelist

firewall-cmd  --permanent  --zone=whitelist  --add-source=172.17.6.247

firewall-cmd  --permanent  --zone=whitelist  --add-source=172.17.6.250

firewall-cmd  --permanent  --zone=whitelist  --add-port=2049/tcp

-黑名单blacklist

firewall-cmd  --permanent  --new-zone=blacklist

firewall-cmd  --permanent  --zone=blacklist  --add-rich-rule="rule family="ipv4" port protocol="tcp" port="8024" drop"



# 禁止海外vps攻击

# 禁ip段

firewall-cmd --permanent --zone=public --add-rich-rule 'rule family="ipv4" source address="92.119.0.0/16" drop' 

firewall-cmd --permanent --zone=public --add-rich-rule 'rule family="ipv4" source address="194.49.0.0/16" drop' 

firewall-cmd --permanent --zone=public --add-rich-rule 'rule family="ipv4" source address="188.95.0.0/16" drop' 

firewall-cmd --permanent --zone=public --add-rich-rule 'rule family="ipv4" source address="194.33.0.0/16" drop' 

firewall-cmd --permanent --zone=public --add-rich-rule 'rule family="ipv4" source address="45.144.0.0/16" drop' 

firewall-cmd --permanent --zone=public --add-rich-rule 'rule family="ipv4" source address="193.176.0.0/16" drop' 

firewall-cmd --permanent --zone=public --add-rich-rule 'rule family="ipv4" source address="194.33.45.0/24" drop' 


签名:这个人很懒,什么也没有留下!
最新回复 (0)
返回