南方數據技术观察
首页 行业新闻 教程 技术文章 AI 对话 官网 咨询与报价
首页 / 行业新闻

Ubuntu 16.04 配置 ip6tables 实战指南

本文演示在 Ubuntu 16.04 系统上配置 ip6tables 的完整流程,从验证 IPv6 支持、检查默认链策略,到逐步添加状态匹配与端口放行规则,建立最小可用的 IPv6 入站防护基线。

**验证 IPv6 与查看默认策略:**

执行 `cat /proc/net/if_inet6` 若返回类似 `00000000000000000000000000000001 01 80 10 80 lo` 与接口地址行,说明内核已加载 IPv6 模块;若文件不存在,可尝试 `modprobe ipv6`。全新安装的 Ubuntu 中,`sudo ip6tables -L -n` 显示 INPUT、FORWARD、OUTPUT 三条链均为空,默认策略均为 ACCEPT。用 `sudo ip6tables -S | grep -e '-P'` 可仅打印策略行:`-P INPUT ACCEPT`、`-P FORWARD ACCEPT`、`-P OUTPUT ACCEPT`。原文未给出具体数据包计数或吞吐量数据。

**建立首条规则与调整默认动作:**

先追加状态匹配规则 `sudo ip6tables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT`,放行已建立及相关连接,防止后续将 INPUT 默认策略改为 DROP 时断开当前 SSH 会话。确认规则生效后,再按需将 INPUT 策略设为 DROP(原文未给出修改默认策略的具体命令),实现“默认拒绝、显式放行”的最小权限模型。

**追加常用服务端口放行规则:**

依次执行:`sudo ip6tables -A INPUT -p tcp --dport ssh -s HOST_IPV6_IP -j ACCEPT` 仅允许特定源地址的 SSH;`sudo ip6tables -A INPUT -p tcp --dport 80 -j ACCEPT` 放行 HTTP;`sudo ip6tables -A INPUT -p tcp --dport 21 -j ACCEPT` 放行 FTP;`sudo ip6tables -A INPUT -p tcp --dport 25 -j ACCEPT` 放行 SMTP。规则按序匹配,建议将高频、低风险端口前置。原文未给出规则持久化(如 `ip6tables-save`)及 ICMPv6/NDP 相关放行示例。

掌握 ip6tables 独立配置流程,可避免 IPv4 规则迁移遗漏,为双栈服务器提供显式入站控制;生产环境建议配合 `ip6tables-save` 持久化规则,并结合 NDP、ICMPv6 类型进一步细化策略。

原文: APNIC Blog(2018-06-08)|编译自 APNIC Blog,事实以原文为准。

来源:APNIC Blog

返回列表