本帖最后由 kingsxw 于 2022-3-6 10:05 编辑
20220306 firewall相关配置:
加了静态路由以后,其他网段可以访问ax9000 lan,但是ax9000 lan访问其他网段不通,需要修改防火墙配置
- uci方法
- uci add firewall rule
- uci set firewall.@rule[-1].name=Allow-LAN-To-All
- uci set firewall.@rule[-1].src=lan
- uci set firewall.@rule[-1].proto=*
- uci set firewall.@rule[-1].dest=*
- uci set firewall.@rule[-1].target=ACCEPT
- uci commit firewall
- service firewall restart
复制代码
- 或直接修改配置文件
- #编辑/etc/config/firewall
- #vi /etc/config/firewall
- #添加
- config rule
- option name 'Allow-LAN-To-All'
- option src 'lan'
- option proto '*'
- option dest '*'
- option target 'ACCEPT'
- #重启fiewall服务
- #service firewall restart
复制代码
20220111 bond相关配置:
经测试只有开启端口聚合才能给对应bond口配置超过1500的mtu,lan和eth口不能超过1500
- echo 9000 > /sys/devices/virtual/net/bond0/mtu #bond0的mtu设置为9000,最大可设置9216
复制代码永久
- #/etc/init.d/lag
- #enable_lan_aggregation函数里面增加一行
- echo 9000 > /sys/devices/virtual/net/bond0/mtu
复制代码 如果要严谨一点
- uci set lag.lag.mtu="9000"
- uci commit
- #然后编辑
- #/etc/init.d/lag
- #enable_lan_aggregation函数
- #增加
- local mtu=$(uci -q get lag.lag.mtu)
- [ -n "$mtu" ] && echo $mtu > /sys/class/net/"$BOND_IFNAME"/mtu
- #位置一看便知
复制代码
- 另外如果有人有像我一样的需求配置lacp rate slow(默认fast,我家交换机不支持)
同样是
- #/etc/init.d/lag
- #enable_lan_aggregation函数里面
- local lacp_rate=1 #这行改成0,1是fast,0是slow,默认fast
复制代码 或者复杂(无聊)点
- uci set lag.lag.rate="0"
- uci commit
- #在编辑
- #/etc/init.d/lag
- #enable_lan_aggregation函数里面
- local lacp_rate=$(uci -q get lag.lag.rate)
复制代码
- # 0 is XOR Mode
- # 1 is 8023AD LCAP Passive Mode
- # 2 is 8023AD LCAP Active Mode
复制代码 mod=2,balance-xor和mode=4,lacp
7种bond模式自己按需要改一下脚本应该都能使用
首先吐槽下,AX9000配置是真的牛逼,但是官方固件也是真的垃圾,简陋得连几十块的路由器都不如,我自己静态路由和巨型帧都是刚需,他都没有
下面说下具体配置(以下都需要ssh或者telnet登陆系统后操作)
1.静态路由,以我自己的两条静态路由配置举例,大家按实际形况修改就行,有多条就加多次。
临时(重启失效):
ip route add 192.168.50.0/24 via 192.168.31.253 dev br-lan
ip route add 192.168.100.0/24 via 192.168.31.253 dev br-lan
永久:
uci add network route uci set network.@route[-1].interface=lan #注意这里是lan,不是br-lan,下同
uci set network.@route[-1].target=192.168.50.0 uci set network.@route[-1].netmask=255.255.255.0 uci set network.@route[-1].gateway=192.168.31.253
uci add network route uci set network.@route[-1].interface=lan
uci set network.@route[-1].target=192.168.100.0 uci set network.@route[-1].netmask=255.255.255.0 uci set network.@route[-1].gateway=192.168.31.253
uci commit network #提交保存配置 也可直接编辑/etc/config/network配置文件来进行配置,下同
可以通过uci show network或cat /etc/config/network检查配置文件是否有以下相应内容:
建议重启路由器生效,service network restart不会重新进行pppoe拨号导致外网断网 重启后通过ip route查看是否生效
2. 开启巨型帧: 都有2.5G和端口聚合了,居然没有巨型帧,我家所有交换机和路由器都开启了,这个也开
uci set network.lan.mtu=9000 uci commit network 和上面静态路由是同一个配置文件,可以看见:
另:不确定是否生效,因为开启后ip a看eth*和br-lan的mtu还是1500,正常应该是9000,不过我的华硕AC86U开启巨型帧以后也是1500,所以我不确定,但是个人感觉应该是开启成功了。
为什么认为成功了?先要顺带提一下开启fullcone的尝试
uci set firewall.@defaults[0].fullcone='0' uci commit firewall
配置完service firewall restart或者dmesg会有报错Warning: Option @defaults[0].fullcone is unknown,证明不支持fullcone。
这个巨帧dmesg没有报错,配置项应该是没问题的,所以我说个人认为应该是成功了。
3.关闭iot网络:
因为我家UBNTAP+AC做了全覆盖,所以AX9000的无线用不上,界面上关了以后发线还有iot的无线开着。
uci set wireless.wifi0.disabled="1" uci set wireless.wifi1.disabled="1" uci set wireless.wifi2.disabled="1" uci set wireless.wifi3.disabled="1" uci set wireless.wifi3.disabled="1" uci set wireless.miot_2G.disabled="1"
uci commit wireless
PS: 也可直接编辑/etc/config/wireless配置文件来进行配置
顺便把对应192.168.32.0/24网段也关了:
uci set network.miot.disabled="1"
uci commit network
4.添加godday的ddns解析:
ipv4脚本:
vi /etc/ipv4.sh #你也可以放在其他路径
#!/bin/sh
mydomain="123.com" #此处替换成你自己的域名
myhostname="ax9000" #此处替换成你自己想用的二级域名
gdapikey="xxx" #此处替换成你自己的key
myip="$(curl -s whatismyip.akamai.com)"
currentip="$(curl -kLsX GET "https://api.godaddy.com/v1/domains/${mydomain}/records/A/${myhostname}" -H "Authorization: sso-key ${gdapikey}" -H "Content-Type: application/json" | grep -oE '([0-9]{1,3}\.?){4}' | head -n 1)"
if [ "$myip" = "$currentip" ]; then
echo "skipping"
else
echo "changing"
curl -kLsX PUT "https://api.godaddy.com/v1/domains/${mydomain}/records/A/${myhostname}" -H "Authorization: sso-key ${gdapikey}" -H "Content-Type: application/json" -d "[{\"data\": \"${myip}\"}]"
fi
ipv6脚本:
vi /etc/ipv6.sh #你也可以放在其他路径
#!/bin/sh
mydomain="123.com" #此处替换成你自己的域名
myhostname="ax9000v6" #此处替换成你自己想用的二级域名
gdapikey="xxx" #此处替换成你自己的key
myip="$(ip addr show pppoe-wan | grep "inet6.*global" | awk '{print $2}' | awk -F"/" '{print $1}')"
currentip="$(curl -kLsX GET "https://api.godaddy.com/v1/domains/${mydomain}/records/AAAA/${myhostname}" -H "Authorization: sso-key ${gdapikey}" -H "Content-Type: application/json" | grep -oE '([0-9a-f]{1,4}\:?){8}' | head -n 1)"
if [ "$myip" = "$currentip" ]; then
echo "skipping"
else
echo "changing"
curl -kLsX PUT "https://api.godaddy.com/v1/domains/${mydomain}/records/AAAA/${myhostname}" -H "Authorization: sso-key ${gdapikey}" -H "Content-Type: application/json" -d "[{\"data\": \"${myip}\"}]"
fi
脚本记得chmod +x /etc/ipv4.sh /etc/ipv6.sh
然后扔到crontab定时执行(crontab -e编辑,频率自己修改,我是3分钟一次):
ipv6解析还是挺好用的,我家的移动线路只有内网ip,ipv4进不来,ipv6毫无压力
暂时想到这么多,分享一下,抛砖引玉
|