iptables防火墙

目录

iptables和firewalld区别

iptables防火墙

nat表和filter表

防火墙filter表基本用法

目标操作:

iptables操作命令和通用参数

iptables的语法

NAT

问题

iptables的4表和5链分别是什么?

查看iptables防火墙规则的命令是什么?

清空iptables防火墙规则的命令是什么?


iptables和firewalld区别

iptables

firewalld

  • 与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包过滤,封包重定向和网络地址转换(NAT)等功能。

  • 其实iptables只是Linux防火墙的管理工具而已,位于/sbin/iptables。真正实现防火墙功能的是 netfilter,它是Linux内核中实现包过滤的内部结构。

  • 替代了以前的 iptables,firewall 使用更加方便、功能也更加强大一些,firewalld 服务引入了一个信任级别的概念来管理与之相关联的连接与接口。它支持 ipv4 与 ipv6,并支持网桥,采用 firewall-cmd (command) 或 firewall-config (gui) 来动态的管理 kernel netfilter 的临时或永久的接口规则,并实时生效而无需重启服务。

iptables防火墙

  • iptables有多种功能,每一种功能都用一张表来实现

  • 最常用的功能是防火墙和NAT

  • 从RHEL7开始,默认的防火墙为firewalld,但是它的底层仍然调用iptables

  • 安装iptables服务

# 关闭firewalld
[root@node1 ~]# systemctl stop firewalld
[root@node1 ~]# systemctl disable firewalld


# 安装iptables
[root@node1 ~]# yum install -y iptables-services.x86_64  

nat表和filter表

iptables的表和链。我们只关心nat表和filter表。filter表是默认的表,它实现防火墙,也就是包过滤的功能。nat表实现网络地址转换。

包过滤匹配流程

  • 顺序对比,匹配即停止

  • 若无任何匹配,则按该链的默认策略处理

防火墙filter表基本用法

  • 配置iptables时,不指定表,就是使用filter表

  • 配置时不指定规则链,则配置所有链

  • 可以向规则链中加入很多规则,数据包进入该链时,从上向下匹配,一旦匹配就停止,开始应用规则。如果全都不匹配,则应用默认规则

  • 命令选项、链名、目标操作使用大写字母,其他小写

目标操作:

Accept:允许放行/通过

Drop:直接丢弃,不给出任何回应

Reject:拒绝通过,必要时会给出提示

Log:记录日志,然后传给下一条规则

filter中的三条链

  • INPUT:数据包的目标地址是自己,则进入INPUT链

  • OUTPUT:数据包的源地址是自己,则进入OUTPUT链

  • FORWARD:数据包穿过自己,则进入FORWARD链

iptables操作命令和通用参数

-A 追加规则-->iptables -A INPUT

-D 删除规则-->iptables -D INPUT 1(编号)

-R 修改规则-->iptables -R INPUT 1 -s 192.168.12.0 -j DROP 取代现行规则,顺序不变(1是位置)

-I 插入规则-->iptables -I INPUT 1 --dport 80 -j ACCEPT 插入一条规则,原本位置上的规则将会往后移动一个顺位

-L 查看规则-->iptables -L INPUT 列出规则链中的所有规则

通用参数:

-p 协议 例:iptables -A INPUT -p tcp

-s源地址 例:iptables -A INPUT -s 192.168.1.1

-d目的地址 例:iptables -A INPUT -d 192.168.12.1

-sport源端口 例:iptables -A INPUT -p tcp --sport 22

-dport目的端口 例:iptables -A INPUT -p tcp --dport 22

-i指定入口网卡 例:iptables -A INPUT -i eth0

-o指定出口网卡 例:iptables -A FORWARD -o eth0

-j 指定要进行的处理动作

常用的ACTION:

DROP:丢弃

REJECT:明示拒绝

ACCEPT:接受

iptables的语法

iptables [-t 表名] 选项 [链名] [条件] [-j 满足条件的操作]

  • 可以设置默认拒绝,然后明确允许

  • 也可以设置默认允许,然后明确拒绝

开启内核转发:

echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf

echo 1 > /proc/sys/net/ipv4/ip_forward

NAT

  • NAT:网络地址翻译、网络地址转换

  • NAT技术产生,主要是解决IPV4地址不够用。

  • NAT一般用于将私有地址转成全球唯一的公有地址

  • 私有地址:

    • A类:10.x.x.x

    • B类:172.16.x.x-172.31.x.x

    • C类:192.168.x.x

  • 私有地址,如果需要访问互联网中的公有地址,进行上网,可以通过NAT技术,将私有地址转成公有地址,再访问外界。

互联网环境下,运营商不允许私有地址出现在互联网上,发现有这样的数据,就直接丢弃。所以,私有地址发往互联网时,需要用NAT转换成公有地址,也叫合法地址。

问题

iptables的4表和5链分别是什么?

1)4表包括:nat表、filter表、raw表、mangle表

2)5链包括:INPUT链、OUTPUT链、FORWARD链、PREROUTING链、POSTROUTING链

查看iptables防火墙规则的命令是什么?

[root@svr7 ~]# iptables  -nL  INPUT
target     prot opt source               destination
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0
[root@svr7 ~]# iptables  -L  INPUT  --line-numbers
num  target     prot opt source         destination
1    ACCEPT     udp   --  anywhere     anywhere
2    ACCEPT     icmp --  anywhere     anywhere
3    ACCEPT     tcp  --  anywhere        anywhere

清空iptables防火墙规则的命令是什么?

[root@svr7 ~]# iptables  -D  INPUT  3    #清除第三条规则
[root@svr7 ~]# iptables  -nL  INPUT      #查看规则
Chain INPUT (policy ACCEPT)              #INPUT链默认规则是接受
target     prot opt source               destination
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值