开机禁止防火墙
systemctl disable firewalld.service
查看firewalld的运行状态
firewall-cmd --state
1.3、firewalld开放端口(public)
公共区域设置开放21端口永久生效并写入配置文件(参数:–permanent)
#参数:–permanent,设置即立刻生效并且写入配置文件
firewall-cmd --zone=public --add-port=21/tcp --permanent
查询防火墙端口21是否开放
firewall-cmd --zone=public --query-port=21/tcp
移除开放的端口21
firewall-cmd --zone=public --remove-port=21/tcp --permanent
1.4、区域规则修改
查询防火墙规则列表
firewall-cmd --zone=public --list-all
新增一条区域规则httpd服务
firewall-cmd --permanent --zone=internal --add-service=http
验证规则
firewall-cmd --zone=internal --list-all
2、firewalld图形化界面
上面的简介也介绍到了firewalld提供了两种管理模式:其一是firewall-cmd
命令管理工具,其二是firewall-config
图形化管理工具。在之前版本中的iptables将规则保存在文件/etc/sysconfig/iptables
中,现在firewalld将配置文件保存在/usr/lib/firewalld
和/etc/firewalld
目录的xml文件中。
图形化界面中修改接口区域可以使用NetworkManager,也可以使用firewall-config工具。NetworkManager使用方法:打开终端执行命令nm-connection-editor
,如下图弹出对话框:
2.1、图形化界面NetworkManager
终端执行:nm-connection-editor
2.2、图形化界面firewall-config
终端执行:firewall-config
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yTrrLrQb-1641217943101)(Snipaste_2022-01-03_20-27-59_proc.jpg)]
1、安装iptables
假如是centos6,默认是安装了iptables。
如果是centos7或者Redhat7系列,默认没有安装iptables。你需要关闭默认启动的firewalld,二选一即可。
临时关闭firewalld
systemctl stop firewalld
开机禁用firewalld
systemctl disable firewalld
开机启用firewalld
systemctl enable firewalld
通过yum在线安装iptables,检查是否安装了iptables
systemctl status iptables.service
service iptables status
安装iptables
yum -y install iptables
升级iptables
yum update iptables
安装iptables-services
yum -y install iptables-services.x86_64
设置iptables为开机自启
systemctl enable iptables.service
iptables规则组成
-
ACCEPT(接收,允许通过)
-
DROP(丢弃数据包不做任何反馈)
-
REJECT(丢弃数据包,客户端有对应消息返回)
查询已经设置的规则:-L命令
#一般配合-n命令使用
iptables -L
#不显示主机地址
iptables -nL
清除原来设置的规则:-F命令
iptables -F
删除某一条已经设置的规则:-D命令
iptables -D INPUT -p tcp --dport 80 -j ACCEPT
2、场景一放通端口
插入一些规则:-I命令,放通80、22、10~21(一段)这些端口
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
设置某一个固定的IP访问80端口:-s 192.168.xxx.xxx
iptables -I INPUT -p tcp -s (你的IP地址) --dport 80 -j ACCEPT
ssh远程连接本地服务器或者云服务器需要默认启用的端口
iptables -I INPUT -p tcp --dport 22 -j ACCEPT
设置10~21端口开放访问
iptables -I INPUT -p tcp --dport 10:21 -j ACCEPT
设置icmp规则允许访问
iptables -I INPUT -p icmp -j ACCEPT
注意:允许本机可以访问本机,本机访问外网
解决本机可以访问本机(telnet 127.0.0.1 22),添加-i lo(网卡)规则。
设置规则
iptables -I INPUT -i lo -p tcp -j ACCEPT
本机测试访问外网
curl https://www.baidu.com
设置规则
iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
在设置的最后追加一条规则:-A命令
拒绝xx规则
iptables -A INPUT -j REJECT
3、场景二
ftp主动模式下iptables的规则配置(不建议)
ftp被动模式下iptables的规则配置(实际应用,推荐)
4、场景三
工作中的一些常用配置,设置好规则后保存到配置文件。chkconfig iptables on 设置开机启动规则。
snat(对原地址,发起地址)规则设置,dnat(目标地址,发往的地址)规则设置。
5、iptables防攻击企业应用
iptables防攻击企业应用(根据实际业务设置)
利用iptables防CC攻击
connlimit模块
作用: 用于限制每一个客户端IP的并发连接数。
参数: --connlimit-above n
(次数),限制并发数
例如,限制次数为100
iptables -I INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 100 -j REJECT
测试,限制某一固定IP并发次数
iptables -I INPUT -p tcp --dport 80 -s [ip地址] -m connlimit --connlimit-above 10 -j REJECT
6、limit模块
作用: 限速,控制流量
例如
iptable -A INPUT -m limit --limit 3/hour
--limit-burst 5
,默认值为5
在设置最后追加一条过滤规则
iptables -A INPUT -p icmp -m limit --limit 1/m --limit-burst 10 -j ACCEPT
拒绝其它规则访问
iptables -A INPUT -p icmp -j DROP
设置完,测试接限制的IP地址:
#测试受限IP地址
ping 192.168.245.139
2、配置文件新增规则
文中介绍过iptables安装后的配置文件所在目录。
/etc/sysconfig/iptables
修改配置文件
vim /etc/sysconfig/iptables
Uncomplicated Firewall
简称UFW,是Ubuntu系统上默认的防火墙组件。UFW是为轻量化配置iptables而开发的一款工具。
UFW 提供一个非常友好的界面用于创建基于IPV4,IPV6的防火墙规则。UFW 在 Ubuntu 8.04 LTS 后的所有发行版中默认可用。
UFW 的图形用户界面叫Gufw。
1、开启与关闭防火墙
开启防火墙
ufw enable
关闭防火墙
ufw disable
2、显示防火墙状态
2.1、显示防火墙状态
ufw status
2.2、查看防火墙详细状态
ufw status verbose
3、允许与阻止
3.1、增加一条表示允许的规则
ufw allow
3.2、允许通过 21 连接端口使用 tcp 和 udp 协议连线本机
ufw allow 21
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
bose
3、允许与阻止
3.1、增加一条表示允许的规则
ufw allow
3.2、允许通过 21 连接端口使用 tcp 和 udp 协议连线本机
ufw allow 21
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
[外链图片转存中…(img-uYE8l9Gc-1714872536679)]
[外链图片转存中…(img-OiWWtKNv-1714872536679)]
[外链图片转存中…(img-WjypylMI-1714872536679)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!