linux防火墙

Posted 罗夏

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux防火墙相关的知识,希望对你有一定的参考价值。

一.基本

1.iptables和firewalld服务都是管理防火墙的工具,并不是防火墙.rhel7用firewalld服务代替了iptables服务

2.策略:

ACCEPT: 接受
REJECT: 拒绝
DROP: 丢弃
LOG: 记录日志,然后传给下一个规则匹配(日志/var/log/message)

  

3.规则表:

raw表: 确定是否对数据包进行状态跟踪
mangle表: 为数据包设置标记
nat表:修改数据包中的源,目标IP地址或端口
filter:确定是否放行该数据包(过滤,这是默认的表类型)

  

先后顺序:raw -> mangle -> nat -> filter

4.规则链:

PREROUTINT: 在进行路由选择前处理数据包
INPUT: 处理入站数据包
OUTPUT:处理出站的数据包
FORWARD:处理转发数据包
POSTROUTING:路由选择后处理数据包

  

先后顺序
入站顺序:PREROUTINT -> INPUT
出站顺序:OUTPUT -> POSTROUTING
转发顺序:PREROUTINT -> FORWARD -> POSTROUTING

 

综合示意图:

 

5.注意
a.没有指定规则表,则默认是filter
b.没有指定规则链则指表内所有规则链
c.规则链中匹配规则时,会依次检查,匹配即停止(LOG除外)

二.命令格式

1.基本格式
iptables [-t 表名] 选项 [链名] [条件] [-j 控制类型]

2.参数:

-P 设置默认策略,如: iptables -P INPUT (DROP|ACCEPT)
-F 清空规则链
-L 查看规则链
-A 规则链末尾插入新规则
-I num 规则链头部插入新规则
-D num 删除某一条规则
-s 匹配来源地址ip/MASK, 加!表示除了这个IP外
-d 匹配目标地址
-i 网卡名称 匹配从这块网卡流入的数据
-o 网卡名称 匹配从这块网卡流出的数据
-p 匹配协议,如tcp/upd/icmp
--dport num 目标端口号
--sport num 来源端口号

  

查看nat链:

iptables -t nat -nL

  

允许ping:

iptables -I INPUT -p icmp -j ACCEPT

  

3.snat(源地址转换技术)和dnat(目标地址转换技术)

本机80端口转发到81端口:

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 81
iptables -I INPUT -p tcp --dport 81 -j ACCEPT

  

将访问本机的80端口时转向到192.168.2.10的9000端口

iptables -t nat -I PREROUTING -p tcp --dport 80  -j DNAT --to-destination 192.168.2.10:9000
iptables -t nat -A POSTROUTING -j MASQUERADE

  

 

以上是关于linux防火墙的主要内容,如果未能解决你的问题,请参考以下文章

linux打开终端如何启动scala,如何在终端下运行Scala代码片段?

Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段

linux中怎么查看mysql数据库版本

Linux下单机安装部署kafka及代码实现

Linux中iptables防火墙指定端口范围

-bash: /usr/bin/ls: /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory(代码片段