Linux系统安全:安全技术和防火墙

目录

一、安全技术和防火墙

1.安全技术

2.防火墙的分类

二、防火墙

1.iptables四表五链

2.黑白名单

3.iptables基本语法

4.iptables选项

5.控制类型

6.隐藏扩展模块

7.显示扩展模块

8.iptables规则保存

9.自定义链使用


一、安全技术和防火墙

1.安全技术

  • 入侵检测系统(Intrusion Detection Systems):特点是不阻断任何网络访问,量化、定位来自内外网络的威胁情况,主要以提供报警和事后监督为主,提供有针对性的指导措施和安全决策依据,类 似于监控系统一般采用旁路部署(默默的看着你)方式。

  • 入侵防御系统(Intrusion Prevention System):以透明模式工作,分析数据包的内容如:溢出攻击、拒绝服务攻击、木马、蠕虫、系统漏洞等进行准确的分析判断,在判定为攻击行为后立即予以 阻断,主动而有效的保护网络的安全,一般采用在线部署方式。(必经之路)

  • 防火墙( FireWall ):隔离功能,工作在网络或主机边缘,对进出网络或主机的数据包基于一定的规则检查,并在匹配某规则时由规则定义的行为进行处理的一组功能的组件,基本上的实现都是默 认情况下关闭所有的通过型访问,只开放允许访问的策略,会将希望外网访问的主机放在DMZ (demilitarized zone)网络中.

2.防火墙的分类

①按保护范围划分

主机防火墙:服务范围为当前一台主机。

网络防火墙:服务范围为防火墙一侧的局域网。

②按实现方式划分

硬件防火墙:在专用硬件级别实现部分功能的防火墙;另一个部分功能基于软件实现,华为、深信服等。

软件防火墙:运行于通用硬件平台之上的防火墙的应用软件,Windows 防火墙 ISA --> Forefront。

③按网络协议划分

包过滤防火墙:只对osi模型下四层生效,速度快拆包少。

网络层防火墙:OSI模型下四层,又称为包过滤防火墙。

应用层防火墙/代理服务器:proxy 代理网关,OSI模型七层。

二、防火墙

1.iptables四表五链

1.四表  (优先级排序)

1 raw表:确定是否对数据进行状态跟踪2 mangle表:为数据包设置标记3 nat表:修改数据包中的源、目标IP地址或端口4 filter表:确定是否放行该数据包,起到过滤的作用,是最常用的一个表项

2.五链

 PREROUTING链: 在进行路由选择前处理数据包,用来修改目的地址。INPUT: 匹配进入了本机的数据包OUTPUT: 处理出本机的数据包,一般不在此链上做配置FORWARD: 处理转发数据包,匹配流经本机的数据包POSTROUTING链: 在进行路由选择后处理数据包

2.黑白名单

①黑名单:默认全部允许通过,添加谁才不允许谁通过。

②白名单:默认全部不允许通过,添加谁允许谁通过。

3.iptables基本语法

基本语法:表中有链,链中有规则

iptables  [ -t  表名 ]  管理选项 [ 链名 ]  [ 匹配条件 ] [ 控制类型 ]

表名、链名用来指定 iptables 命令所操作的表和链,未指定表名时将默认使用 filter 表

管理选项:表示iptables规则的操作方式,如插入、增加、删除、查看等

匹配条件:用来指定要处理的数据包的特征,不符合指定条件的数据包将不会处理

控制类型指的是数据包的处理方式,如ACCEPT允许、REJECT拒绝、DROP丢弃等

4.iptables选项

 -A :在指定链末尾追加一条

 -I  :在指定行前插入一条,未指定序号默认作为第一条。-I INPUT 1表示在第一行前添加。

 -P :表示修改默认规则,默认允许流量通过,使用黑名单。

         iptables -P INPUT DROP或REJECT (白名单)

         iptables -P INPUT ACCEPT  (黑名单)

 -R :修改、替换某一条规则,-R INPUT 1表示修改第一条规则

 -D :表示删除单个,-D INPUT 1表示删除第一条规则

 -F :清除链中所有规则,清空iptables

 -vnL  -t  表名:查看指定 iptables规则列表,filter表可以省略-t

 -vnL -line-num :加上行号查看iptables规则列表

5.控制类型

控制类型需要使用 -j 跳转到某类型处理数据包。

①ACCEPT:允许通过

②REJECT :拒绝通过

③DROP:丢弃,会接受但是将数据包丢弃不处理6、隐藏扩展模块

④SNAT:源地址转换

⑤DNAT:目的地址转换

6.隐藏扩展模块

-sport  :匹配报文源端口

[root@localhost ~]#iptables -A INPUT -p tcp -s 192.168.21.0/24  --sport 80 -j ACCEPT
[root@localhost ~]#    允许所有源地址在192.168.21.0/24网段源端口为80的访问

--dport  :匹配报文目的端口

[root@localhost ~]#iptables -A INPUT -p tcp -s 192.168.21.0/24 --dport 8 -j ACCEPT
[root@localhost ~]#   允许所有源地址在192.168.21.0/24网段且目的端口为80的访问

7.显示扩展模块

扩展模块使用格式:  -m  {模块名}   [选项]

1.multiport模块

--dports端口1,端口2 ,等 使用,隔开最多指定15个不连续端口

[root@localhost ~]#iptables -A INPUT -p tcp -m multiport --sport 80,433 -j ACCEPT
[root@localhost ~]#    允许tcp协议源端口号为80、433的访问

--sports 端口1,端口2 ,等 使用,隔开最多指定15个不连续端口

[root@localhost ~]#iptables -A INPUT -p tcp -m multiport --sport 80,22 -j ACCEPT
[root@localhost ~]#    允许tcp协议目的端口号为80、22访问

2. iprange模块

iprange模块可以指定连续的(一般不是整个网络)ip地址范围

3.mac地址模块

指明源MAC地址,适用INPUT链,PREOUTING,POSTROUTING链。

--mac-source    源mac地址,只能指定源mac地址。

4.

string字符串模块

可以使用string模块指定字符串范围。

--from offset 字符串开始查询的地方。

--to offset     字符串结束查询的地方  。

例如:iptables -A OUTPUT -p tcp --sport 80 -m string --algo bm --from 62 --string "bilibili" -j REJECT

5.connlimit模块

据每客户端IP做并发连接数数量匹配,可防止Dos(Denial of Service,拒绝服务)攻击。

--connlimit-upto N     #连接的数量小于等于N时匹配

--connlimit-above N   #连接的数量大于N时匹配

例如:iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 2 -j REJECT

6.stat模块

stat模块可以根据连接状态控制数据包。

NEW:新发出的请求;第一次发出的请求。

ESTABLISHED:new之后的正常连接状态。

例如:ipatables -A INPUT -m state --state NEW -j REJECT

           ipatables -A INPUT -m state --state ESTABLISHED -j ACCEPT

7.控制流量模块

limit控制流量模块,可以控制通过的包数以及每分钟或每小时通过的包数。

--limit     10/minute(1分钟之内只允许10个包通过)

--limit-burs    数字    例如: --limit-burst 5(允许通过前5个包,5个包不受影响)

8.iptables规则保存

将写好的规则导入一个文件中  iptables-save >文件名。

永久保存保存规则的文件重新写入   iptables-restore <保存规则的文件名。

[root@localhost ~]#iptables-save >/save
[root@localhost ~]#cat /save
# Generated by iptables-save v1.4.21 on Mon Feb 19 18:48:07 2024
*nat
:PREROUTING ACCEPT [15:1708]
:INPUT ACCEPT [1:52]
:OUTPUT ACCEPT [1:72]
:POSTROUTING ACCEPT [1:72]
:OUTPUT_direct - [0:0]
:POSTROUTING_ZONES - [0:0]
:POSTROUTING_ZONES_SOURCE - [0:0]
:POSTROUTING_direct - [0:0]
:POST_public - [0:0]
:POST_public_allow - [0:0]
:POST_public_deny - [0:0]
:POST_public_log - [0:0]
:PREROUTING_ZONES - [0:0]
:PREROUTING_ZONES_SOURCE - [0:0]
:PREROUTING_direct - [0:0]
:PRE_public - [0:0]
:PRE_public_allow - [0:0]
:PRE_public_deny - [0:0]
:PRE_public_log - [0:0]
-A PREROUTING -j PREROUTING_direct
-A PREROUTING -j PREROUTING_ZONES_SOURCE
-A PREROUTING -j PREROUTING_ZONES
-A OUTPUT -j OUTPUT_direct
-A POSTROUTING -s 192.168.122.0/24 -d 224.0.0.0/24 -j RETURN
-A POSTROUTING -s 192.168.122.0/24 -d 255.255.255.255/32 -j RETURN
-A POSTROUTING -s 192.168.122.0/24 ! -d 192.168.122.0/24 -p tcp -j MASQUERADE --to-ports 1024-65535
-A POSTROUTING -s 192.168.122.0/24 ! -d 192.168.122.0/24 -p udp -j MASQUERADE --to-ports 1024-65535
-A POSTROUTING -s 192.168.122.0/24 ! -d 192.168.122.0/24 -j MASQUERADE
-A POSTROUTING -j POSTROUTING_direct
-A POSTROUTING -j POSTROUTING_ZONES_SOURCE
-A POSTROUTING -j POSTROUTING_ZONES
-A POSTROUTING_ZONES -o ens33 -g POST_public
-A POSTROUTING_ZONES -g POST_public
-A POST_public -j POST_public_log
-A POST_public -j POST_public_deny
-A POST_public -j POST_public_allow
-A PREROUTING_ZONES -i ens33 -g PRE_public
-A PREROUTING_ZONES -g PRE_public
-A PRE_public -j PRE_public_log
-A PRE_public -j PRE_public_deny
-A PRE_public -j PRE_public_allow
COMMIT
# Completed on Mon Feb 19 18:48:07 2024
# Generated by iptables-save v1.4.21 on Mon Feb 19 18:48:07 2024
*mangle
:PREROUTING ACCEPT [1421:90360]
:INPUT ACCEPT [1421:90360]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [813:66803]
:POSTROUTING ACCEPT [820:68809]
:FORWARD_direct - [0:0]
:INPUT_direct - [0:0]
:OUTPUT_direct - [0:0]
:POSTROUTING_direct - [0:0]
:PREROUTING_ZONES - [0:0]
:PREROUTING_ZONES_SOURCE - [0:0]
:PREROUTING_direct - [0:0]
:PRE_public - [0:0]
:PRE_public_allow - [0:0]
:PRE_public_deny - [0:0]
:PRE_public_log - [0:0]
-A PREROUTING -j PREROUTING_direct
-A PREROUTING -j PREROUTING_ZONES_SOURCE
-A PREROUTING -j PREROUTING_ZONES
-A INPUT -j INPUT_direct
-A FORWARD -j FORWARD_direct
-A OUTPUT -j OUTPUT_direct
-A POSTROUTING -o virbr0 -p udp -m udp --dport 68 -j CHECKSUM --checksum-fill
-A POSTROUTING -j POSTROUTING_direct
-A PREROUTING_ZONES -i ens33 -g PRE_public
-A PREROUTING_ZONES -g PRE_public
-A PRE_public -j PRE_public_log
-A PRE_public -j PRE_public_deny
-A PRE_public -j PRE_public_allow
COMMIT
# Completed on Mon Feb 19 18:48:07 2024
# Generated by iptables-save v1.4.21 on Mon Feb 19 18:48:07 2024
*security
:INPUT ACCEPT [1424:90752]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [876:76517]
:FORWARD_direct - [0:0]
:INPUT_direct - [0:0]
:OUTPUT_direct - [0:0]
-A INPUT -j INPUT_direct
-A FORWARD -j FORWARD_direct
-A OUTPUT -j OUTPUT_direct
COMMIT
# Completed on Mon Feb 19 18:48:07 2024
# Generated by iptables-save v1.4.21 on Mon Feb 19 18:48:07 2024
*raw
:PREROUTING ACCEPT [1421:90360]
:OUTPUT ACCEPT [813:66803]
:OUTPUT_direct - [0:0]
:PREROUTING_ZONES - [0:0]
:PREROUTING_ZONES_SOURCE - [0:0]
:PREROUTING_direct - [0:0]
:PRE_public - [0:0]
:PRE_public_allow - [0:0]
:PRE_public_deny - [0:0]
:PRE_public_log - [0:0]
-A PREROUTING -j PREROUTING_direct
-A PREROUTING -j PREROUTING_ZONES_SOURCE
-A PREROUTING -j PREROUTING_ZONES
-A OUTPUT -j OUTPUT_direct
-A PREROUTING_ZONES -i ens33 -g PRE_public
-A PREROUTING_ZONES -g PRE_public
-A PRE_public -j PRE_public_log
-A PRE_public -j PRE_public_deny
-A PRE_public -j PRE_public_allow
COMMIT
# Completed on Mon Feb 19 18:48:07 2024
# Generated by iptables-save v1.4.21 on Mon Feb 19 18:48:07 2024
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [152:11732]
:FORWARD_IN_ZONES - [0:0]
:FORWARD_IN_ZONES_SOURCE - [0:0]
:FORWARD_OUT_ZONES - [0:0]
:FORWARD_OUT_ZONES_SOURCE - [0:0]
:FORWARD_direct - [0:0]
:FWDI_public - [0:0]
:FWDI_public_allow - [0:0]
:FWDI_public_deny - [0:0]
:FWDI_public_log - [0:0]
:FWDO_public - [0:0]
:FWDO_public_allow - [0:0]
:FWDO_public_deny - [0:0]
:FWDO_public_log - [0:0]
:INPUT_ZONES - [0:0]
:INPUT_ZONES_SOURCE - [0:0]
:INPUT_direct - [0:0]
:IN_public - [0:0]
:IN_public_allow - [0:0]
:IN_public_deny - [0:0]
:IN_public_log - [0:0]
:OUTPUT_direct - [0:0]
-A INPUT -i virbr0 -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -i virbr0 -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -i virbr0 -p udp -m udp --dport 67 -j ACCEPT
-A INPUT -i virbr0 -p tcp -m tcp --dport 67 -j ACCEPT
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -j INPUT_direct
-A INPUT -j INPUT_ZONES_SOURCE
-A INPUT -j INPUT_ZONES
-A INPUT -m conntrack --ctstate INVALID -j DROP
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A INPUT -s 192.168.21.0/24 -p tcp -m tcp --sport 80 -j ACCEPT
-A INPUT -s 192.168.21.0/24 -p tcp -m tcp --dport 8 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p tcp -m multiport --sports 80,433 -j ACCEPT
-A INPUT -p tcp -m multiport --sports 80,22 -j ACCEPT
-A FORWARD -d 192.168.122.0/24 -o virbr0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 192.168.122.0/24 -i virbr0 -j ACCEPT
-A FORWARD -i virbr0 -o virbr0 -j ACCEPT
-A FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i lo -j ACCEPT
-A FORWARD -j FORWARD_direct
-A FORWARD -j FORWARD_IN_ZONES_SOURCE
-A FORWARD -j FORWARD_IN_ZONES
-A FORWARD -j FORWARD_OUT_ZONES_SOURCE
-A FORWARD -j FORWARD_OUT_ZONES
-A FORWARD -m conntrack --ctstate INVALID -j DROP
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
-A OUTPUT -o virbr0 -p udp -m udp --dport 68 -j ACCEPT
-A OUTPUT -j OUTPUT_direct
-A FORWARD_IN_ZONES -i ens33 -g FWDI_public
-A FORWARD_IN_ZONES -g FWDI_public
-A FORWARD_OUT_ZONES -o ens33 -g FWDO_public
-A FORWARD_OUT_ZONES -g FWDO_public
-A FWDI_public -j FWDI_public_log
-A FWDI_public -j FWDI_public_deny
-A FWDI_public -j FWDI_public_allow
-A FWDI_public -p icmp -j ACCEPT
-A FWDO_public -j FWDO_public_log
-A FWDO_public -j FWDO_public_deny
-A FWDO_public -j FWDO_public_allow
-A INPUT_ZONES -i ens33 -g IN_public
-A INPUT_ZONES -g IN_public
-A IN_public -j IN_public_log
-A IN_public -j IN_public_deny
-A IN_public -j IN_public_allow
-A IN_public -p icmp -j ACCEPT
-A IN_public_allow -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT
COMMIT
# Completed on Mon Feb 19 18:48:07 2024
[root@localhost ~]#iptables -F
[root@localhost ~]#iptables-restore </save
[root@localhost ~]#iptables -nvl
iptables v1.4.21: unknown option "-nvl"
Try `iptables -h' or 'iptables --help' for more information.
[root@localhost ~]#iptables -nvL
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)pkts bytes target     prot opt in     out     source               destination         0     0 ACCEPT     udp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            udp dpt:530     0 ACCEPT     tcp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:530     0 ACCEPT     udp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            udp dpt:670     0 ACCEPT     tcp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:6765  3788 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           0     0 INPUT_direct  all  --  *      *       0.0.0.0/0            0.0.0.0/0           0     0 INPUT_ZONES_SOURCE  all  --  *      *       0.0.0.0/0            0.0.0.0/0           0     0 INPUT_ZONES  all  --  *      *       0.0.0.0/0            0.0.0.0/0           0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate INVALID0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited0     0 ACCEPT     tcp  --  *      *       192.168.21.0/24      0.0.0.0/0            tcp spt:800     0 ACCEPT     tcp  --  *      *       192.168.21.0/24      0.0.0.0/0            tcp dpt:80     0 REJECT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 8 reject-with icmp-port-unreachable0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            multiport sports 80,4330     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            multiport sports 80,22Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)pkts bytes target     prot opt in     out     source               destination         0     0 ACCEPT     all  --  *      virbr0  0.0.0.0/0            192.168.122.0/24     ctstate RELATED,ESTABLISHED0     0 ACCEPT     all  --  virbr0 *       192.168.122.0/24     0.0.0.0/0           0     0 ACCEPT     all  --  virbr0 virbr0  0.0.0.0/0            0.0.0.0/0           0     0 REJECT     all  --  *      virbr0  0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable0     0 REJECT     all  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           0     0 FORWARD_direct  all  --  *      *       0.0.0.0/0            0.0.0.0/0           0     0 FORWARD_IN_ZONES_SOURCE  all  --  *      *       0.0.0.0/0            0.0.0.0/0           0     0 FORWARD_IN_ZONES  all  --  *      *       0.0.0.0/0            0.0.0.0/0           0     0 FORWARD_OUT_ZONES_SOURCE  all  --  *      *       0.0.0.0/0            0.0.0.0/0           0     0 FORWARD_OUT_ZONES  all  --  *      *       0.0.0.0/0            0.0.0.0/0           0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate INVALID0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibitedChain OUTPUT (policy ACCEPT 37 packets, 2972 bytes)pkts bytes target     prot opt in     out     source               destination         0     0 ACCEPT     udp  --  *      virbr0  0.0.0.0/0            0.0.0.0/0            udp dpt:6837  2972 OUTPUT_direct  all  --  *      *       0.0.0.0/0            0.0.0.0/0           Chain FORWARD_IN_ZONES (1 references)pkts bytes target     prot opt in     out     source               destination         0     0 FWDI_public  all  --  ens33  *       0.0.0.0/0            0.0.0.0/0           [goto] 0     0 FWDI_public  all  --  *      *       0.0.0.0/0            0.0.0.0/0           [goto] Chain FORWARD_IN_ZONES_SOURCE (1 references)pkts bytes target     prot opt in     out     source               destination         Chain FORWARD_OUT_ZONES (1 references)pkts bytes target     prot opt in     out     source               destination         0     0 FWDO_public  all  --  *      ens33   0.0.0.0/0            0.0.0.0/0           [goto] 0     0 FWDO_public  all  --  *      *       0.0.0.0/0            0.0.0.0/0           [goto] Chain FORWARD_OUT_ZONES_SOURCE (1 references)pkts bytes target     prot opt in     out     source               destination         Chain FORWARD_direct (1 references)pkts bytes target     prot opt in     out     source               destination         Chain FWDI_public (2 references)pkts bytes target     prot opt in     out     source               destination         0     0 FWDI_public_log  all  --  *      *       0.0.0.0/0            0.0.0.0/0           0     0 FWDI_public_deny  all  --  *      *       0.0.0.0/0            0.0.0.0/0           0     0 FWDI_public_allow  all  --  *      *       0.0.0.0/0            0.0.0.0/0           0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           Chain FWDI_public_allow (1 references)pkts bytes target     prot opt in     out     source               destination         Chain FWDI_public_deny (1 references)pkts bytes target     prot opt in     out     source               destination         Chain FWDI_public_log (1 references)pkts bytes target     prot opt in     out     source               destination         Chain FWDO_public (2 references)pkts bytes target     prot opt in     out     source               destination         0     0 FWDO_public_log  all  --  *      *       0.0.0.0/0            0.0.0.0/0           0     0 FWDO_public_deny  all  --  *      *       0.0.0.0/0            0.0.0.0/0           0     0 FWDO_public_allow  all  --  *      *       0.0.0.0/0            0.0.0.0/0           Chain FWDO_public_allow (1 references)pkts bytes target     prot opt in     out     source               destination         Chain FWDO_public_deny (1 references)pkts bytes target     prot opt in     out     source               destination         Chain FWDO_public_log (1 references)pkts bytes target     prot opt in     out     source               destination         Chain INPUT_ZONES (1 references)pkts bytes target     prot opt in     out     source               destination         0     0 IN_public  all  --  ens33  *       0.0.0.0/0            0.0.0.0/0           [goto] 0     0 IN_public  all  --  *      *       0.0.0.0/0            0.0.0.0/0           [goto] Chain INPUT_ZONES_SOURCE (1 references)pkts bytes target     prot opt in     out     source               destination         Chain INPUT_direct (1 references)pkts bytes target     prot opt in     out     source               destination         Chain IN_public (2 references)pkts bytes target     prot opt in     out     source               destination         0     0 IN_public_log  all  --  *      *       0.0.0.0/0            0.0.0.0/0           0     0 IN_public_deny  all  --  *      *       0.0.0.0/0            0.0.0.0/0           0     0 IN_public_allow  all  --  *      *       0.0.0.0/0            0.0.0.0/0           0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           Chain IN_public_allow (1 references)pkts bytes target     prot opt in     out     source               destination         0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:22 ctstate NEWChain IN_public_deny (1 references)pkts bytes target     prot opt in     out     source               destination         Chain IN_public_log (1 references)pkts bytes target     prot opt in     out     source               destination         Chain OUTPUT_direct (1 references)pkts bytes target     prot opt in     out     source               destination         
[root@localhost ~]#

9.自定义链使用

①自定义链添加:iptables -N web(链名) 创建链

②自定义链改名:iptabels -E web(原来名称) (新名称) 自定义链改名

③创建自定义链规则:iptables -t filter -I web -p icmp -j REJECT 创建自定义规则,iptables的链中添加一条对应到自定义链中才能生效

④iptabales创建对应链规则然后跳转自定义链web:iptables -t filter -I INPUT -p icmp -j web

⑤删除自定义规则链:先删除iptables INPUT链中的对应关系,然后删除自定义链中的规则。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/692249.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2000-2022各省产业结构高级化合理化指数(含原始数据、计算过程+计算结果)

2000-2022各省产业结构高级化合理化指数&#xff08;含原始数据、计算过程计算结果&#xff09; 1、时间&#xff1a;2000-2022年 2、指标&#xff1a;国内生产总值、第一产业增加值、第二产业增加值、第三产业增加值、总就业人数、第一产业就业人数、第二产业就业人数、第三…

C++中自定义类型使用标准输入cin输出cout

自定义类型的输出 引言示例一运行结果示例二运行结果注意点 引言 当自己定义的数据为一些复杂数据&#xff0c;不再为基本数据类型&#xff0c;这时候要使用cout输出这些数据&#xff0c;就需要重载输出运算符<<,这样就可以使用cout来输出自定义的数据&#xff0c;相同如…

【高阶数据结构】B+树

文章目录 1. B树的概念2. B树的查找3. B-树 VS B树4. B 树的插入分析 1. B树的概念 B树是B树的变形&#xff0c;是在B树基础上优化的多路平衡搜索树&#xff0c;B树的规则跟B树基本类似&#xff0c;但是又在B树的基础上做了一些改进优化。 一棵m阶的B树需满足下列条件&#x…

算法刷题:找到字符串中所有的字母异位词

找到字符串中所有的字母异位词 .题目链接题目详情题目解析算法原理滑动窗口流程图定义指针及变量进窗口判断出窗口更新结果 我的答案 . 题目链接 找到字符串中所有的字母异位词 题目详情 题目解析 所谓的异位词,就是一个单词中的字母,打乱顺序,重新排列得到的单词 如:abc-&g…

图片怎么变成透明背景?分享这些变透明的方法

很多从事编辑和图片设计的同行在日常工作中经常需要处理图片的背景色。为了更好地进行设计和编辑&#xff0c;将图片的背景色替换成透明是非常必要的。然而&#xff0c;对于一些新手来说&#xff0c;使用专业的图像处理软件可能有些困难。不过&#xff0c;现在有很多在线的图像…

N5182A MXG 矢量信号发生器,100 kHz 至 6 GHz

N5182A MXG 矢量信号发生器 简述&#xff1a; Agilent N5182A 具有快速频率、幅度和波形切换、带有电子衰减器的高功率和高可靠性——所有这些都在两个机架单元 (2RU) 中。安捷伦 MXG 矢量针对制造蜂窝通信和无线连接组件进行了优化。安捷伦 MXG 矢量通过增加吞吐量、提高测试良…

Elasticsearch:什么是 kNN?

kNN - K-nearest neighbor 定义 kNN&#xff08;即 k 最近邻算法&#xff09;是一种机器学习算法&#xff0c;它使用邻近度将一个数据点与其训练并记忆的一组数据进行比较以进行预测。 这种基于实例的学习为 kNN 提供了 “惰性学习&#xff08;lazy learning&#xff09;” 名…

IO进程:多进程实现文件的拷贝

1.使用多进程完成两个文件的拷贝&#xff0c;父进程拷贝前一半&#xff0c;子进程拷贝后一半&#xff0c;父进程回收子进程的资源 程序代码&#xff1a; 1 #include<myhead.h>2 int main(int argc, const char *argv[])3 {4 //判断传入的文件个数5 if(argc!3)6 …

Arcmap excel转shp

使用excel表格转shp的时候&#xff0c;如果你的excel里面有很多字段&#xff0c;直接转很大概率会出现转换结果错误的情况&#xff0c;那么就需要精简一下字段的个数。将原来的表格文件另存一份&#xff0c;在另存为的文件中只保留关键的经度、纬度、和用于匹配的字段即可&…

LeetCode JS专栏刷题笔记(一)

一、前言 LeetCode 在前不久出了一个 JavaScript 专栏&#xff0c;这个专栏一个目的是为了非前端工程师学习 JS&#xff0c;另一个是为了前端工程师提升 JS 能力。 因此在这个专栏中&#xff0c;基本不涉及什么具体算法问题&#xff0c;都是一些 JS 的入门语法与常见的 JS 面…

redis分布式锁redisson

文章目录 1. 分布式锁1.1 基本原理和实现方式对比synchronized锁在集群模式下的问题多jvm使用同一个锁监视器分布式锁概念分布式锁须满足的条件分布式锁的实现 1.2 基于Redis的分布式锁获取锁&释放锁操作示例 基于Redis实现分布式锁初级版本ILock接口SimpleRedisLock使用示…

前端秘法基础式终章----欢迎来到JS的世界

目录 一.JavaScript的背景 二.JavaScript的书写形式 1.行内式 2.嵌入式 3.外部式 三.JS中的变量 1.变量的定义 2.JS动态类型变量 2.1强类型和弱类型 3.JS中的变量类型 四.运算符 五.if语句和三元表达式和Switch语句和循环语句 六.数组 1.创建获取数组元素 2.新增…

unity学习(28)——登录功能

有之前注册的知识&#xff0c;登录就很容易处理了。 登陆成功返回id&#xff1a; 登录失败返回null&#xff1a; 测试同一账号不能重复登陆&#xff01;登录成功后最好可以跳到新的场景中 结果是好的&#xff0c;去服务器看一下对应部分的代码&#xff0c;可见&#xff0c;登…

MySQL错误-this is incompatible with sql_mode=only_full_group_by完美解决方案

项目场景 有时候&#xff0c;遇到数据库重复数据&#xff0c;需要将数据进行分组&#xff0c;并取出其中一条来展示&#xff0c;这时就需要用到group by语句。 但是&#xff0c;如果mysql是高版本&#xff0c;当执行group by时&#xff0c;select的字段不属于group by的字段的…

【FastAPI】P3 请求与响应

目录 请求路径参数查询参数 响应JSON 响应文本响应返回 Pydantic 模型 在网络通讯中&#xff0c;请求&#xff08;Request&#xff09; 与 响应&#xff08;Response&#xff09; 扮演着至关重要的角色&#xff0c;它们构成了客户端与服务器间互动的根本理念。 请求&#xff0…

Linux编辑器——Vim详解

目录 ⭐前言 ⭐vim的基本概念 ⭐vim的基本操作 ⭐vim命令模式命令集 ⭐vim末行模式命令集 ⭐简单vim配置 ⭐配置文件的位置 ⭐常用配置选项 ⭐前言 vi/vim的区别简单点来说&#xff0c;它们都是多模式编辑器&#xff0c;不同的是vim是vi的升级版本&#xff0c;它不仅兼容…

CMake的简单使用

一、一个最简单的CMake项目 在Ubuntu上使用CMake构建一个最简单的项目。 1. 安装CMake 首先安装CMake&#xff0c;这里使用的是Ubuntu系统。 sudo apt-get install cmake2. 编写源程序 编写代码&#xff0c;新建文件main.c。 // main.c #include "stdio.h"int …

安卓adb调试备忘录

由于 MAC 的 USB 口全被占用着&#xff0c;采用无线连接刚方便&#xff0c;记录一下&#xff0c;以防忘记~ ADB原理 adb devices -l ## 列出连接的设备adb tcpip [端口号] adb tcpip 6666 # 将当前已连接USB上的Mobile端切换为TCP/IP模式&#xff0c;以6666端口进行监听. adb…

你真的了解—————NumPy吗

&#x1f308;个人主页&#xff1a;小田爱学编程 &#x1f525; 系列专栏&#xff1a;opencv &#x1f3c6;&#x1f3c6;关注博主&#xff0c;随时获取更多关于IT的优质内容&#xff01;&#x1f3c6;&#x1f3c6; &#x1f600;欢迎来到小田代码世界~ &#x1f601; 喜欢的…

【大厂AI课学习笔记】【2.2机器学习开发任务实例】(8)模型训练

好吧&#xff0c;搞了半天&#xff0c;都是围绕数据在干活&#xff0c;这也就验证了&#xff0c;我们说的&#xff0c;数据准备等工作&#xff0c;要占到机器学习项目一半以上的工作量和时间。而且数据决定了模型的天花板&#xff0c;算法只是去达到上限。 我们今天来学习模型…