Linux防火墙之iptables和firewalld

iptables

优先级:raw>mangle>nat>filter

iptables扩展

使用 -m调用扩展,也可以用 !取反

iprange 指定范围

  - -src-range :源地址范围

  - -dst-range:目标地址范围

  iptables -I INPUT -p tcp -m iprange - -src-range 192.168.75.130-192.168.75.134 -j DROP

string 指定字符串

  - -algo :指定匹配算法,可选算法有bm和kmp

  - - string:指定要匹配的字符串。

iptables -I INPUT -m string - - algo bm - -string “mike” -j REJECT

time 指定时间

time模块使用OTC时间,而我们使用CST中国标准时间,东八区比UTC时间快8小时,因此要-8

  - -timestart :起始时间 格式 时:分:秒

  - - timestop:终止时间

  - -weekdays:用于指定星期几,也可以用数字表示

  - -monthdays;- -datestart;- -datestop

  iptables -A INPUT -p tcp  - -dport 80 -m time - -weekdays 3,5  - -timestart 08:00:00 - -timestop 09:00:00 -j REJECT         #周三和周五的0点到1点不允许访问80端口

connlimit 限制连接数量

不指定IP,则默认为每个客户端IP做出限制

  - -connlimit-above:限制连接上限

  - -connlimit-mask:按照网段限制连接上限

iptables -I INPUT -p tcp - -dport 22 -m connlimit - -connlimit-above 2 -j REJECT

#限制ssh登陆数为2个,超过则就拒绝

limit 限制速率

  - -limit :限制单位时间内流入的数据包的数量

  iptables -I INPUT -p icmp -m limit - -limit 10/min -j ACCEPT

#限制每分钟流入10个包

iptables之forward转发

把本机的80端口转发到另一台服务器的8080端口

iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to 192.168.75.134:8080

iptables -t nat -A POSTROUTING -p tcp -d 192.168.75.134 --dport 8080 -j SNAT --to 192.168.75.130

selinux的设置

配置文件:/etc/selinux/config

查看selinux的状态:getenforce 返回为enforcing,为开启;disabled为关闭

firewalld

查看防火墙状态:firewall-cmd - -state

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

查看预设的服务:firewall-cmd - -get-services

查看:firewall-cmd - -list-all

添加服务:firewall-cmd - -zone=public - -add-service=http - -permanent

移除:- -add改为 - -remove

允许或拒绝端口:firewall-cmd - -zone=public - -add-port=80/tcp - -permanent

禁用一个网段:firewall-cmd - -add-source=192.168.75.1/24 - -zone=drop

实例:

##在同一个服务器上将80端口转发到8080端口

firewall-cmd - -zone=”public” - -add-forward-port=port:80:proto=tcp:toport=8080

##将当前服务器的80端口转发到另一台主机192.168.75.134的8080端口

(1)firewall-cmd - -zone=public - -add-masquerade

(2)firewall-cmd - -zone=”public” - -add-forward-port=port=80:proto=tcp:toport=8080:toaddr=192.168.75.134

丰富规则:

##拒绝来自192.168.75.134到22端口的IPV4的TVP数据

firewall-cmd - -zone=public- -add-rich-rule ‘rule family=”ipv4” source address=”192.168.75.134” port port=22 protocol=tcp reject’

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: CentOS 系统防火墙有两种:iptablesfirewalld。 1. iptables:是 Linux 内核的一部分,是一个防火墙管理工具。使用 iptables 命令管理防火墙规则。 2. firewalld:是一个防火墙管理工具,可以动态管理防火墙规则。使用 firewall-cmd 命令管理防火墙规则。 ### 回答2: CentOS 系统有两种防火墙iptablesfirewalld。这两种防火墙都可以用于保护系统免受网络攻击和恶意访问。 iptables 是一种传统的 Linux 防火墙工具,可以通过命令行来配置、管理和监控防火墙规则。以下是一些常用的 iptables 命令: 1. iptables -L:列出当前防火墙规则列表。 2. iptables -F:清空所有防火墙规则。 3. iptables -A INPUT -p tcp --dport 80 -j ACCEPT:允许所有进入端口 80 的 TCP 连接。 4. iptables -A INPUT -p tcp --dport 22 -j DROP:禁止所有进入端口 22 的 TCP 连接。 5. iptables-save > /etc/sysconfig/iptables:保存当前防火墙规则至文件。 firewalld 是 CentOS 7 及更新版本引入的防火墙管理工具,相比于 iptables,它提供了更加灵活和方便的使用方式。以下是一些常用的 firewalld 命令: 1. systemctl start firewalld:启动 firewalld 服务。 2. firewall-cmd --state:检查 firewalld 是否处于运行状态。 3. firewall-cmd --list-all:显示当前防火墙规则和配置的详细信息。 4. firewall-cmd --zone=public --add-port=80/tcp --permanent:永久性开放 80 端口,使其对外可访问。 5. firewall-cmd --reload:重新加载防火墙规则。 总之,对于 CentOS 系统,在使用防火墙时可以根据具体需求选择合适的工具。如果对于命令行操作更为熟悉或需要更精细的控制,可以使用 iptables;而如果需要更简单的操作和集管理,可以选择 firewalld
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值