要在 openwrt 中使用,复杂的操作命令可能不支持
1
wheat0r 213 天前
chatgpt 好使的,我刚刚试过了
|
3
wheat0r 213 天前
@feng0vx #2 “请不要把 AI 生成的内容发送到这里” via https://www.v2ex.com/about
我用的提示词很简单“如何在 bash 中使用常规命令通过 mac 地址生成 EUI64 地址?” |
5
ysc3839 213 天前 via Android
其实也不麻烦吧,就是 MAC 首字节要用位运算把一个 bit 设置成 1 ,其他的字符串拼接就可以了
|
6
ysc3839 213 天前 via Android
已经测试过,OpenWrt 使用的 busybox ash 是支持 $((1 | 2))这种位运算的,所以并没有问题
|
7
wheat0r 213 天前
|
8
royzheng 213 天前 1
换个思路弄
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 |