美文网首页
iptables快速上手

iptables快速上手

作者: 爱写Bug的程序猿 | 来源:发表于2019-07-07 20:19 被阅读0次

iptabls

容器

包含的管理

iptables是表的容器,表是链的容器

iptables包含的表

  • filter
  • nat
  • mangle
  • raw

iptables的链

  • INPUT:进入主机
  • OUTPUT:出主机
  • FORWARD:转发
  • PREROUTING:进来之前的路由
  • POSTROUTING:出去之前的路由

链是规则的容器。

英文单词:

chains:链 table:表 policy:规则

表和链的关系

微信截图_20190707201852.png
INPUT OUTPUT FORWARD PREROUTING POSTROUTING
Filter × ×
Nat × ×
Mangle

Filter表

强调:主要和主机自身有关,正在负责防火墙的功能。(默认表)

链:

INPUT(最重要)

​ 过滤进入主机的数据包。

OUTPUT

​ 过滤出去的包

FORWARD

​ 过滤经过主机的包。

Nat表

负责网络地址的转换,即来源与目的ip地址和port的。

链:

OUTPUT

​ 和主机发出去的数据包有关。改变主机发出数据包的目标地址。

PREROUTING

​ 在数据包到达防火墙时进行路由判断之前执行的规则。

​ 作用:

​ 改变数据包的目的地址、目的端口等。

POSTROUTING

​ 在数据包离开防火墙最后一到门槛。

​ 作用:

​ 改数据包的源地址、源端口等。

iptables工作流程

iptables是采用包过滤机制工作的,所以他会获取包头的数据,来就行预先设定的规则进行匹配。

1、防火墙层层过滤。

2、如果匹配上规则,即明确表明是阻止还是通过,数据包就不在向下匹配新的规则。

3、防火墙默认规则是所有规则执行完才会执行的。

iptables命令

基本命令

/etc/init.d/iptables restart
#启动iptbles
#如果启动失败去setup中修改configuration firewall的enabled为开启
iptables -L -n --line-numbers
#显示默认表
#-L显示链表
#-n显示IP地址
#--line-numbers 显示序号
iptables -F [chain]
#清空用户添加的规则,但清空不成默认规则
iptables -X [chain]
#删除自定义的链
iptables -N chain
#创建自定义的链
iptables -Z [chain]
#清零计数器

规则命令

ss -lntup | grep ssh
#查询ssh的端口
iptables -t [table] -A [chain] -p [tcp/ucp] --dport [目的端口] -j [行为]
#-t 表示表:filter、nat
#-A 追加到链 -I插入:INPUT、OUTPUT、FORWARD、PREROUTING、POSTROUTING
#-j行为表示DROP(丢弃) 或 ACCEPT(允许) 或 REJECT(拒绝)
iptables -t [table] -D [chain] [序号]
#删除指定序号的规则
iptables 
    -i eth0 #从哪个网口进来
    -o eth0 #从哪个网口出
    -s 10.0.0.0/24 #源地址

NAT命令

iptables -t nat -A POSTROUTING -s [源地址] -o eth0 -j SNAT --to-source eth0的网口地址
#实现内网计算机上网
iptables -t nat -A PREROUTING -d [目的地址] --dport 80 -o eth1 -j DNAT --to-destination 192.168.0.2

相关文章

网友评论

      本文标题:iptables快速上手

      本文链接:https://www.haomeiwen.com/subject/xlpihctx.html