CentOS iptables

iptables 简介

netfilter/iptables 组成Linux平台下的包过滤防火墙。

rule 包

是否允许通过的规则

chinas 链

数据包传播的路径

tables 表

提供特定的功能,包含filter nat mangle raw4个表,分别用于实现包过滤,网络地址转换,包重构(修改)和数据跟踪处理。

iptables 在内核的5个规则设置位置

  1. 内核空间中:从一个网络接口进来,到另一个网络接口去的
  2. 数据包从内核流入用户空间的
  3. 数据包从用户空间流出的
  4. 进入/离开本机的外网接口
  5. 进入/离开本机的内网接口

五个规则链:
1. PREROUTING (路由前)
2. INPUT (数据包流入口)
3. FORWARD (转发管卡)
4. OUTPUT(数据包出口)
5. POSTROUTING(路由后)

防火墙策略:
1. 通,有身份认证才能进
2. 堵
filter:定义允许或不允许,用在INPUT FORWARD OUTPUT
nat 定义地址转换 用在PREROUTING OUTPUT POSTROUTING
mangle 修改报文原数据 用在5个规则链上

规则的写法

格式:

iptables [-t table] COMMAND chain rules -j ACTION
-t table :指定表名(filter/nat/mangle/raw)
COMMAND:命令,对链扫操作命令
chain:指定你接下来的规则到底是在哪个链上操作的,当定义策略的时候,是可以省略的
rules:规则
-j ACTION :指定如何进行处理

 比如:不允许172.16.0.0/24的进行访问。
 iptables -t filter -A INPUT -s 172.16.0.0/16 -p udp --dport 53 -j DROP
 当然你如果想拒绝的更彻底:
 iptables -t filter -R INPUT 1 -s 172.16.0.0/16 -p udp --dport 53 -j REJECT

 iptables -L -n -v  #查看定义规则的详细信息

COMMAND

链管理命令(立即生效)

-P 设置默认策略

iptables -P INPUT (DROP|ACCEPT) 默认是关的/开的

-L 查看iptables规则列表

-F flash , 清空规则链

iptables -t nat -F PREROUTING
iptables -t nat -F 清空nat表的所有链

-X 用于删除用户自定义的空链

使用方法跟-N相同,但是在删除之前必须要将里面的链给清空

-E 用来给用户自定义的链重命名

iptables -E oldname newname

-Z 清空链,及链中默认规则的计数器

iptables -Z

规则管理命令

-A 追加
-I num : 插入
-R num :Replays替换/修改第几条规则
-D num : 删除第几条规则

查看管理命令 “-L”

附加子命令:

-n 以数字方式显示ip,否则显示主机名
-v 显示详细信息
-vv   更详细
-vvv 更更详细
-x     在计数顺上显示精确值
--line-numbers 显示规则的行号
-t nat:显示所有的关卡的信息

匹配标准

通用匹配

-s 源ip
-d 目标ip
-p 协议,TCP/UDP/ICMP
-i eth0 从某网卡流入
-o eth0 从某网卡流出

扩展匹配

-p tcp 扩展:

--dport xx-xx 指定目标端口范围
--dport xx    指定目标端口
--sport       指定源端口
--tcp-flags   tcp的标志位

-p udp 扩展:

--dport
--sport

-p icmp 扩展:

--icmp-type 8 匹配表求回显数据包

显式扩展-m

-j ACTION

  • DROP 丢弃
  • REJECT 拒绝
  • ACCEPT 接受
  • DNAT
  • SNAT
  • MASQUERADE 源地址伪装
  • REDIRECT 重定向
  • MARK 打防火墙标记的
  • RETURN 返回

状态检测

端口的4种关系:
NEW TCP新连接
ESTABLISHED 已建立的连接
RELATED 如TCP 20/21一来一去的端口
INVALID 无法识别的

地址转换

示例

iptables -P INPUT DROP                 拒绝所有连接
iptables -I FORWARD -d www.xxx.com -j DROP   拒绝访问某网址
iptables -I FORWARD -s 192.168.1.X -j DROP   禁止某客户机上网
iptables -I FORWARD -s 192.168.1.0/24 -p tcp -dport 21 -j DROP 禁止某子网使用FTP
iptables -F
iptables -X
iptables -F -t mangle
iptables -t mangle -X
iptables -F -t nat
iptables -t nat -X
把三个表清空

iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD ACCEPT
设定INPUT、OUTPUT的默认策略为DROP,FORWARD为ACCEPT。

iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
先把“回环”打开

iptables -A INPUT -i eth+ -p icmp --icmp-type 8 -j ACCEPT
iptables -A OUTPUT -o eth+ -p icmp --icmp-type 0 -j ACCEPT
在所有网卡上打开ping功能,便于维护和检测。

iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 22 -j ACCEPT
打开22端口,允许远程管理。

其它命令:

service iptables stop 关闭防火墙

其它相关命令:http://blog.csdn.net/xundh/article/details/71566424

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程圈子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值