iptables tips

本文介绍 iptables 的基本概念,包括其四个主要表的作用、数据包经过的三种链,以及如何配置 iptables 进行 URL 过滤、端口转发、限制连接数等操作。

iptables.png

  • 4 张表的分工:

    filter 用于过滤,

    nat 用于网络地址转换,

    mangle 用于给数据包做标记以修改分组数据的特定规则,

    raw 表则独立于Netfilter连接跟踪子系统。

  • 3 种数据包经过的链(chain)

aaa.jpg

1
2
3
4
5
6
7
8
9
10
ACCEPT       # 允许数据包通过
DROP         # 丢弃数据包
REJECT       # 拒绝数据包通过
SNAT         # 源地址转换
MASQUERADE   # 地址欺骗,自动化的snat
DNAT         # 目标地址转换
REDIRECT     # 重定向
LOG          # 将数据包信息记录到 syslog 日志
QUEUE        # 排队
RETURN       # 返回
  • iptables 进行 url 过滤

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# iptables 其实不是真正对 url 进行过滤,只是对传送的数据包内容进行过滤
# 而 http 头中含有目标 url
# 关于 -m 参数,man iptables 只有几句简介,
# 详细信息需要在 man iptables-extensions 里面进一步查询
 
# 开启
# 过滤掉含有 qq.com 的 url
sudo  iptables -A OUTPUT -m string --string  "qq.com"  --algo bm -j DROP
# 如果本机是 squid 服务器,可以通过 INPUT 链过滤
sudo  iptables -A INPUT -m string --string  "qq.com"  --algo bm -j DROP
# 对于 nat 转发的内容过滤
sudo  iptables -A FORWARD -m string --string  "qq.com"  --algo bm -j DROP
# 查看
sudo  iptables -nL --line-numbers
# 移除(最后的数字为加 --line-numbers 参数后 num 显示的序号)
sudo  iptables -D OUTPUT 2
  • 保存规则以便重启生效(Ubuntu 16.04)

1
2
3
4
5
6
7
sudo  su
iptables-save >  /etc/iptables .rules
cd  /etc/network/if-pre-up .d/
vim iptables
#>>> #! /bin/bash
#>>> iptables-restore < /etc/iptables.rules
chmod  +x iptables
1
2
sudo  iptables -I INPUT   -p tcp -j REJECT --reject-with tcp-reset -m connlimit --connlimit-above 20
sudo  iptables -I FORWARD -p tcp -j REJECT --reject-with tcp-reset -m connlimit --connlimit-above 10




*** walker ***

本文转自walker snapshot博客51CTO博客,原文链接http://blog.51cto.com/walkerqt/2068947如需转载请自行联系原作者


RQSLT

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值