前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >iptables 的使用实战

iptables 的使用实战

作者头像
用户3147702
发布2022-06-27 13:13:37
3160
发布2022-06-27 13:13:37
举报
文章被收录于专栏:小脑斧科技博客

1. 引言

上一篇文章中,我们介绍了 netfilter/iptables 的原理。 netfilter/iptables 原理 本文我们就来介绍一下 iptables 的具体用法。

2. 安装 iptables

虽然 netfilter 是集成在 linux 系统内核的,但是用户层的 iptables 还是需要手动安装和开启才可以使用的。

2.1. 安装 iptables

yum install -y iptables yum install iptables-services

2.2. 开启 iptables

systemctl start iptables.service systemctl enable iptables.service #设置开机自启动

3. iptables 的用法

iptables 的基本用法就是 -

iptables (选项) (参数)

从上一篇文章中我们知道 iptables 是以规则为单位进行 IP 信息包的过滤和管理的,我们就从规则的配置入手。

4. iptables 的基本选项

  • -L - 显示规则链中已有的条目
  • -F - 清楚规则链中已有的条目
  • -Z - 清空规则链中的数据包计算器和字节计数器
  • -N - 创建新的用户自定义规则链
  • -P - 定义规则链中的默认目标
  • -h - 显示帮助信息
  • -p - 指定要匹配的数据包协议类型
  • -s - 指定要匹配的数据包源ip地址
  • -j<目标> - 指定要跳转的目标
  • -i<网络接口> - 指定数据包进入本机的网络接口
  • -o<网络接口> - 指定数据包要离开本机所使用的网络接口

5. 规则的增删和修改

5.1. 基本命令

iptables -t 表名 <-A/I/D/R> 规则链名 [规则号] <-i/o 网卡名> -p 协议名 <-s 源IP/源子网> —sport 源端口 <-d 目标IP/目标子网> —dport 目标端口 -j 动作

5.2. 选项

  • -A - 向规则链中添加条目
  • -D - 从规则链中删除条目
  • -i - 向规则链中插入条目
  • -R - 替换规则链中的条目

5.3. 表名

  • raw - 高级功能,如 - 网址过滤
  • mangle - 数据包修改(QOS),用于实现服务质量
  • net - 地址转换,用于网关路由器
  • filter - 包过滤,用于防火墙规则

5.4. 规则链名

  • INPUT链 - 处理输入数据包
  • OUTPUT链 - 处理输出数据包
  • PORWARD链 - 处理转发数据包
  • PREROUTING链 - 用于目标地址转换(DNAT)
  • POSTOUTING链 - 用于源地址转换(SNAT)

5.5. 动作

  • accept - 接收数据包
  • DROP - 丢弃数据包
  • REDIRECT - 重定向、映射、透明代理
  • SNAT - 源地址转换
  • DNAT - 目标地址转换
  • MASQUERADE - IP伪装(NAT),用于ADSL
  • LOG - 日志记录

6. iptables 实战

6.1. 查看现有规则

iptables -L -n

6.2. 删除某个请求

比如要删除INPUT里序号为8的规则。

iptables -D INPUT 8

6.3. 允许所有请求

iptables -P INPUT ACCEPT

6.4. 清除默认规则

iptables -F # 清空所有默认规则 iptables -X # 清空所有自定义规则 iptables -Z # 所有计数器归0

6.5. 允许来自于lo接口的数据包

如果没有此规则,你将不能通过127.0.0.1访问本地服务。

iptables -A INPUT -i lo -j ACCEPT

6.6. 开启某个端口

iptables -A INPUT -p tcp —dport 端口 -j ACCEPT

6.7. 允许 icmp 请求(ping)

iptables -A INPUT -p icmp -m icmp —icmp-type 8 -j ACCEPT

6.8. 允许所有对外请求的返回包

iptables -A INPUT -m state —state ESTABLISHED -j ACCEPT

6.9. 添加内网ip信任

iptables -A INPUT -p tcp -s 192.168.1.50 -j ACCEPT

6.10. 过滤除iptables规则之外的所有请求

iptables -P INPUT DROP

7. 参考资料

https://wiki.archlinux.org/index.php/Iptables_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87) http://man.linuxde.net/iptables。 https://wangchujiang.com/linux-command/c/iptables.html。 https://www.jianshu.com/p/8fd07c60f23f。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-01-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小脑斧科技博客 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 引言
  • 2. 安装 iptables
    • 2.1. 安装 iptables
      • 2.2. 开启 iptables
      • 3. iptables 的用法
      • 4. iptables 的基本选项
      • 5. 规则的增删和修改
        • 5.1. 基本命令
          • 5.2. 选项
            • 5.3. 表名
              • 5.4. 规则链名
                • 5.5. 动作
                • 6. iptables 实战
                  • 6.1. 查看现有规则
                    • 6.2. 删除某个请求
                      • 6.3. 允许所有请求
                        • 6.4. 清除默认规则
                          • 6.5. 允许来自于lo接口的数据包
                            • 6.6. 开启某个端口
                              • 6.7. 允许 icmp 请求(ping)
                                • 6.8. 允许所有对外请求的返回包
                                  • 6.9. 添加内网ip信任
                                    • 6.10. 过滤除iptables规则之外的所有请求
                                    • 7. 参考资料
                                    相关产品与服务
                                    NAT 网关
                                    NAT 网关(NAT Gateway)提供 IP 地址转换服务,为腾讯云内资源提供高性能的 Internet 访问服务。通过 NAT 网关,在腾讯云上的资源可以更安全的访问 Internet,保护私有网络信息不直接暴露公网;您也可以通过 NAT 网关实现海量的公网访问,最大支持1000万以上的并发连接数;NAT 网关还支持 IP 级流量管控,可实时查看流量数据,帮助您快速定位异常流量,排查网络故障。
                                    领券
                                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档