针对 OpenWrt 24.10,这里是一个完整的 UCI 配置方案开通 IPv6 功能

针对 OpenWrt 24.10,这里是一个完整的 UCI 配置方案开通 IPv6 功能:

完整的 IPv6 UCI 配置

1. 防火墙配置 (/etc/config/firewall)

确保防火墙允许 IPv6 转发:

# 编辑防火墙配置
uci set firewall.@defaults[0].forward='ACCEPT'
uci set firewall.@defaults[0].fullcone6='1'

# 确保LAN到WAN的转发规则存在
uci set firewall.@zone[0].forward='ACCEPT'  # LAN zone
uci set firewall.@zone[1].forward='ACCEPT'  # WAN zone

# 提交更改
uci commit firewall

2. DHCP 和 RA 配置 (/etc/config/dhcp)

配置 LAN 口的 DHCPv6 和 RA(路由器通告):

# 配置LAN口DHCPv6
uci set dhcp.lan.dhcpv6='server'
uci set dhcp.lan.ra='server'
uci set dhcp.lan.ra_default='1'

# 设置RA标志
uci set dhcp.lan.ra_management='1'
uci set dhcp.lan.ra_adv='1'

# 配置PD(前缀委托)
uci set dhcp.lan.ndp='hybrid'
uci set dhcp.lan.ra_flags='managed'

# 提交更改
uci commit dhcp

3. 网络接口配置 (/etc/config/network)

确保网络接口支持 IPv6:

# 为LAN口启用IPv6
uci set network.lan.ip6assign='64'
uci set network.lan.delegate='1'

# 提交更改
uci commit network

4. 完整的配置脚本

创建一个完整的配置脚本 enable_ipv6.sh

#!/bin/sh

echo "启用IPv6转发..."
echo 1 > /proc/sys/net/ipv6/conf/all/forwarding
echo 'net.ipv6.conf.all.forwarding=1' >> /etc/sysctl.conf

echo "配置防火墙..."
uci set firewall.@defaults[0].forward='ACCEPT'
uci set firewall.@defaults[0].fullcone6='1'

echo "配置DHCPv6和RA..."
uci set dhcp.lan.dhcpv6='server'
uci set dhcp.lan.ra='server'
uci set dhcp.lan.ra_default='1'
uci set dhcp.lan.ra_management='1'
uci set dhcp.lan.ra_adv='1'
uci set dhcp.lan.ndp='hybrid'
uci set dhcp.lan.ra_flags='managed'

echo "配置网络接口..."
uci set network.lan.ip6assign='64'
uci set network.lan.delegate='1'

echo "提交更改..."
uci commit firewall
uci commit dhcp
uci commit network

echo "重启服务..."
service firewall restart
service dnsmasq restart
service odhcpd restart
service network reload

echo "IPv6配置完成!"

5. 对于旁路由的特殊配置

如果你的设备是旁路由,使用这个配置:

#!/bin/sh

echo "配置旁路由IPv6转发..."

# 启用IPv6转发
echo 1 > /proc/sys/net/ipv6/conf/all/forwarding
echo 'net.ipv6.conf.all.forwarding=1' >> /etc/sysctl.conf

# 防火墙配置 - 允许所有转发
uci set firewall.@defaults[0].forward='ACCEPT'
uci set firewall.@defaults[0].fullcone6='1'

# 重要:旁路由禁用RA服务,让主路由处理
uci set dhcp.lan.ra='relay'
uci set dhcp.lan.dhcpv6='relay'
uci set dhcp.lan.ndp='relay'
uci set dhcp.lan.ra_slaac='1'

# 提交并重启
uci commit firewall
uci commit dhcp
service firewall restart
service odhcpd restart

echo "旁路由IPv6配置完成!"

6. 验证配置

配置完成后,验证服务状态:

# 检查服务状态
service firewall status
service odhcpd status

# 检查IPv6路由
ip -6 route show

# 测试连通性
ping6 -c 3 2400:3200::1

# 检查防火墙规则
nft list ruleset

7. 一键执行

将上面的脚本保存为文件,然后执行:

# 给执行权限
chmod +x enable_ipv6.sh

# 执行脚本
./enable_ipv6.sh

配置说明

  • ra='server':启用路由器通告
  • dhcpv6='server':启用DHCPv6服务器
  • forward='ACCEPT':允许防火墙转发
  • ip6assign='64':分配64位前缀给LAN
  • 旁路由模式:使用 relay 模式,不干扰主路由的IPv6服务

选择适合你网络拓扑的配置方案执行即可!

No Comments

Send Comment Edit Comment


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
Previous
Next