要在 openwrt 中使用,复杂的操作命令可能不支持
![]() | 1 wheat0r 2024-05-23 09:57:22 +08:00 chatgpt 好使的,我刚刚试过了 |
![]() | 3 wheat0r 2024-05-23 10:09:33 +08:00 |
![]() | 5 ysc3839 2024-05-23 13:00:14 +08:00 via Android 其实也不麻烦吧,就是 MAC 首字节要用位运算把一个 bit 设置成 1 ,其他的字符串拼接就可以了 |
![]() | 6 ysc3839 2024-05-23 13:01:19 +08:00 via Android 已经测试过,OpenWrt 使用的 busybox ash 是支持 $((1 | 2))这种位运算的,所以并没有问题 |
![]() | 7 wheat0r 2024-05-23 13:27:22 +08:00 |
![]() | 8 royzheng 2024-05-23 15:41:55 +08:00 ![]() 换个思路弄 curl -s 'https://nettools.club/_mac2ipv6_ajax' --data-raw 'mac=aa%3Abb%3Acc%3Add%3Aee%3Aff' |
![]() | 10 feng0vx OP @royzheng 我本来是想用网关 MAC 生成网关的 EUI64 地址,再用::ffff:ffff:ffff:ffff 匹配本地链路和全球地址两个 现在不用 mac 生成了,用$(ip -6 route | awk '/^default/ {print $5}')获取一个网关地址,一般是本地链路,然后匹配它的::ffff:ffff:ffff:ffff GATEWAY_IPV6=$(ip -6 route | awk '/^default/ {print $5}') ebtables -t filter -A FORWARD -i $INTERFACE -p IPV6 --ip6-protocol udp --ip6-destination ${GATEWAY_IPV6}/::ffff:ffff:ffff:ffff --ip6-destination-port 53 -j ACCEPT ebtables -t filter -A FORWARD -i $INTERFACE -p IPV6 --ip6-destination ${GATEWAY_IPV6}/::ffff:ffff:ffff:ffff -j DROP |