Linux 防火墙

一、iptables

查看规则的命令格式为:
iptables [-t tables] [-L] [-nv]

-t :后面接 table ,例如 nat 或 filter ,若省略此项目,则使用默认的 filter
-L :列出某个 table 的所有链或某个链的规则
-n :直接显示 IP,速度会快很多
-v :列出更多的信息,包括通过该规则的数据包总位数、相关的网络接口等

1.列出所有链的规则:

iptables -L

2.列出 nat table 三条链的规则:

iptables-t nat -L-n

清除规则的命令格式如下:
iptables [-t tables] [-FXZ]

-F:清除所有已制定的规则
-X:删除所有使用者自定义的 chain(其是 tables)
-Z:将所有的 chain 的计数与流量统计都清零

3.清除所有已制定的规则

iptables-F

添加规则

 

  • raw:高级功能,如:网址过滤。
  • mangle:数据包修改(QOS),用于实现服务质量。
  • net:地址转换,用于网关路由器。
  • filter:包过滤,用于防火墙规则。
  • INPUT链:处理输入数据包。
  • OUTPUT链:处理输出数据包。
  • FORWARD链:处理转发数据包。
  • PREROUTING链:用于目标地址转换(DNAT)。
  • POSTOUTING链:用于源地址转换(SNAT)。

 

我们可以通过规则来匹配数据包,具体的匹配条件包括 IP、网段、网络接口(interface)和传输协议(tcp、udp 等)。
添加规则的命令格式如下:

iptables -t 表名 <-A/I/D/R> 规则链名 [规则号] <-i/o 网卡名> -p 协议名 <-s 源IP/源子网> --sport 源端口 <-d 目标IP/目标子网> --dport 目标端口 -j 动作

-A:针对某个规则链添加一条规则,新添加的规则排在现有规则的后面。

-D:针对某个规则链删除一条规则,iptables -D INPUT 1

-I:针对某个规则链插入一条规则,可以为新插入的规则指定在链中的序号。如果不指定序号,则新的规则会变成第一条规则。
-i:指定数据包进入的那个网络接口,比如 eth0、lo 等,需要与 INPUT 链配合使用。
-o: 指定传出数据包的那个网络接口,需要与 OUTPUT 链配合使用。
-p: 指定此规则适用于那种网络协议(常用的协议有 tcp、udp、icmp,all 指适用于所有的协议)。
-s:指定数据包的来源 IP/网段,可以指定单个 IP,如 192.168.1.100,也可以指定一个网段,如 192.168.1.0/24。还可以通过 !表示非的意思,如 ! 192.168.1.0/24 表示除了 192.168.1.0/24 之外的数据包。
-d:指定数据包的目标 IP/网段,其它与 -s 选项相同。
-j:指定匹配成功后的行为,主要有 ACCEPT、DROP、REJECT 和 LOG。

4.只接受来自内网中某个网段的数据包:

iptables -A INPUT-i eth2 -s 192.168.10.0/ -jACCEPT

5.接受/丢弃来自指定 IP 的数据包:

iptables -A INPUT-ieth3 -s 192.168.100.5 -jACCEPTiptables-A INPUT -ieth3 -s 192.168.100.6 -j DROP

6.允许ssh

iptables-AINPUT-ptcp--dport22-jACCEPT

7.允许http和https

iptables-AINPUT-ptcp--dport80-jACCEPTiptables-AINPUT-ptcp--dport443-jACCEPT

8.允许ftp被动接口范围,在ftp配置文件里可以设置

iptables-AINPUT-ptcp--dport20000:30000-jACCEPT

9.修改规则——使用-R参数

#假设之前用iptables -A INPUT -s 192.168.1.4-j DROP 添加的规则
iptables -RINPUT-s192.168.1.4-j DROP
#或者
#查出当前规则的列表,使用当前列表下的序号:由下至下顺序
iptables -RINPUT3-jACCEPT

10.禁止其他未允许的规则访问

iptables-AINPUT-j REJECT #(注意:如果22端口未加入允许规则,SSH链接会直接断开。)
iptables -AFORWARD-jREJECT

11.备份与还原

#保存配置
iptables-save>/etc/iptables #(注意:后边这个文件路径可以自选)
#还原配置
iptables-restore < /etc/iptables #(注意:后边这个文件路径可以自选,要是前边备份文件的位置)

 

二、firewall

 

 

 

 

 
posted @ 2023-04-08 20:21  苦逼yw  阅读(57)  评论(0编辑  收藏  举报