openwrt 23.05 nftables dnsmasq一点点配置

前段又买了间屋,没钱了,还消费个毛啊。把旧的netgear 3700拿出来用。当时openwrt是15.0几的固件,下了个23.05直接刷,死了。

根据https://openwrt.org/toh/netgear/wndr3700 讲得救砖说明下载
factory 固件。电脑连着路由器,设固定ip,开两个cmd,一个ping 192.168.1.1 -t ,另一个准备tftp put 固件。按着reset开机,等到ping那个窗口稳定输出了,松开reset,就按第二个窗口的回车,一秒钟就传进去了,等几分钟路由器就回来了。

23.05全新界面,设置也没什么,ssh 进去iptable没有?查了下改成nftable了。研究了两天,比iptable简单一点点。

1、先把nft相关的ipk都装上。

2、dnsmasq升级到2.89

wget https://downloads.openwrt.org/snapshots/packages/mips_24kc/base/libubox20230523_2023-05-23-75a3b870-1_mips_24kc.ipk
wget https://downloads.openwrt.org/snapshots/packages/mips_24kc/base/libubus20230605_2023-06-05-f787c97b-1_mips_24kc.ipk
wget https://downloads.openwrt.org/snapshots/packages/mips_24kc/base/dnsmasq-full_2.89-4_mips_24kc.ipk

nano /etc/dnsmasq.d/xbox.conf 这里要改成这样

server=/xb1.mixer.com/127.0.0.1#1053
nftset=/xb1.mixer.com/4#inet#fw4#xboxlist

nano /etc/config/dhcp 由于dnsmasq.conf里写dnsmasq.d会出错就放到这里

config dnsmasq
option localise_queries '1'
option rebind_protection '1'
option rebind_localhost '1'
option local '/lan/'
option domain 'lan'
option expandhosts '1'
option readethers '1'
option leasefile '/tmp/dhcp.leases'
option resolvfile '/tmp/resolv.conf.d/resolv.conf.auto'
option localservice '1'
option ednspacket_max '1232'
option confdir '/etc/dnsmasq.d'
option boguspriv '0'

 

3、nano /usr/share/nftables.d/table-pre/20-gfwset.nft 没有这个文件夹建一个,有啥用wiki里有,添加

set xboxlist {
type ipv4_addr;
timeout 24h;
size 65536;
}

nano /etc/nftables.d/10-custom-filter-chains.nft 这个文件本来就有,最后添加

chain xboxchain {
type nat hook prerouting priority -100; policy accept;
ip daddr @xboxlist meta l4proto tcp redirect to :1080
}

 

重启下路由器就行了

华硕rt-ax86u原厂固件装常用插件

最近闲的没事,换了个路由器,本来netgear3700用着也没什么问题,但是闲嘛。

换回来发现,那是真的值,速度可以跑满宽带了,WiFi信号比tplink还强(我惊啊),上传usb硬盘比3700快太多了几十倍吧。

再来讲固件,3700用的openwrt配置好了基本上就没动过了,稳定的很。心想着不刷梅林到底能不能实现同样的功能。事实证明原厂固件就行了。

主要用了https://github.com/JACK-THINK/SCRIPTS-BOOTLOADER-FOR-ASUS-ROUTER

我是这样操作的

一、ax86u 设置页

1、u盘先在电脑格式化成ext3

2、 usb相关应用页开下载大师

这样ssh进去,可以ipkg下载东西了,但是在这里开机加载我就没搞明白

二、到 JACK-THINK 下离线包

1、按照https://github.com/JACK-THINK/SCRIPTS-BOOTLOADER-FOR-ASUS-ROUTER/blob/master/How_to_Use_zh-CN.md

说明装吧,我是离线安装,程序都是复制到u盘中执行的,没有放在tmp,没有破坏ASUS它建立的目录。直接从步骤10 install装了必须程序

然后opkg install dnsmasq-full

2、插件修改了部分代码,做了几个如xray 、ipset 。。。之类的

xray_install 
xray_enable.service
xray_disable.service
.
ipset_enable.service
.

修改起来还是挺简单的
把dnsmasq.d的_enable.service 把程序路径改成绝对路径因为自带的不能ipset

3、关闭了monit服务,直接在script_bootloader/bin/list_of_user_custom_scripts添加需要开机启动的_enable.service

4、jack-think的程序和我的路由器也许有点不兼容,在多机同时执行iptables的时候大概率路由器自动重启。在解决的时候我直接没有双清升级为原版梅林。

修改了我自己的一些提示修改的脚本,j-h自带的没怎么改,作用应该就是j-h的一些程序没有加载上,问题就暂时得到了解决,不重启了,具体哪里有问题我就不研究了。

启动后opt目录加载的是原系统的
@RT-AX86U-C000:/tmp/home/root# ls /opt/bin/
asus_lighttpd event_rpcgen.py msgfilter pstree.x11
autopoint file msgfmt recode-sr-latin
bzcat fuser msggrep reset
bzip2 gettext msginit rnano
bzip2-bzip2 gettext.sh msgmerge spawn-fcgi
bzip2recover gettextize msgunfmt tic
captoinfo iconv msguniq toe
clear infocmp nano tput
crontab infotocap ncurses-clear tset
curl ipkg ncurses5-config update-alternatives
ddnsv6 ipkg-opt ncursesw5-config wx-config
dm2_amulecmd killall ngettext xgettext
dm2_amuled msgattrib openssl xml2-config
dm2_detect msgcat pcregrep xmlcatalog
dm2_nzbget msgcmp pcretest xmllint
dm2_snarf msgcomm peekfd xray
dm2_snarfmaster msgconv prtstat
dm2_transmission-daemon msgen psmisc-killall
envsubst msgexec pstree

@RT-AX86U-C000:/tmp/home/root# ls /opt/sbin/
cron dnsmasq

openvpn用自带的,key用以前的,复制进去,想用ipv6就在

自定义设置里添加

persist-key
persist-tun
user ‘nobody’
push ‘topology subnet’
push ‘route 192.168.xx.0 255.255.255.0 192.168.xx.1’
push ‘redirect-gateway def1 bypass-dhcp’
push ‘redirect-gateway ipv6’
push comp-lzo
push ‘dhcp-option DNS 192.168.xx.1’
push ‘dhcp-option WINS 192.168.xx.1’
route ‘192.168.xx.0 255.255.255.0 10.x.0.0 255.255.255.0 10.x.0.1’
proto ‘udp6’

然后修改,/etc/openvpn/fw.sh里加两条ip6tables的规则就行了。

关机重启等几分钟,加载了u盘程序,要么就管理页点下USB设备,加点速。dnsmasq ipset xray 等需要的服务也是自动加载,基本上可以正常使用了,虽然比openwrt还是复杂一点点。


最后备份一下,因为都在U盘上,我想到时如果U盘坏了直接恢复到另一个U盘就能直接用了

tar -cvpzf /mnt/ASUS_ROUTER/ax86ubak210612.tgz -X /mnt/ASUS_ROUTER/lost+found/ /mnt/ASUS_ROUTER/

就行了,一下子淘汰了3个设备。能正常用的话,其它系统方面的我就不花时间研究了。

V2RAY好像变成V2FLY了 试试XTLS 然后又变成XRAY了

 

标题改了一次,加了后面一句,不知道以后还需不需要再加,有人的地方就有江湖啊,老港产片还是经典

移动宽带现在白天还可以,吃鸡也不怎么断线了,sa服丢包经常都是0,时不时还能匹配到na。但晚上就不大行了,游戏进都进不去。联通丢包率30~40%,但晚上能进游戏。之前用ws,现在换XTLS试试。

看功能XTLS就是个web服务器中转?

首先服务器端把需要连接的web ip的443改了

然后服务器端config.json

{
"inbounds": [
{
"port": 443,
"listen":"服务器有多ip就填一个需要的",
"protocol": "vless",
"settings": {
"clients": [
{
"id": "随便,长点",
"flow": "xtls-rprx-origin",
"level": 1
}
],
"decryption": "none",
"fallbacks": [
{
"dest": "上面那个ip:80"
},
{
"path": "/随便长点",
"dest": "上面的web ip改的端口",
"xver": 1
}
]
},
"streamSettings": {
"network": "tcp",
"security": "xtls",
"xtlsSettings": {
"alpn": [
"http/1.1"
],
"certificates": [
{
"certificateFile": "该域名证书绝对路径",
"keyFile": "该域名证书key绝对路径"
}
]
}
}
},
{
"port": 随便订个端口,在web配置里记得配置一样,但不是外部端口,懂得都懂
"listen": "127.0.0.1",
"protocol": "vless",
"settings": {
"clients": [
{
"id": "上面的id一样",
"level": 1
}
],
"decryption": "none"
},
"streamSettings": {
"network": "ws",
"security": "none",
"wsSettings": {
"path": "和上面的path一样"
}
}
}],
"outbounds": [{
"protocol": "freedom",
"settings": {}
},{
"protocol": "blackhole",
"settings": {},
"tag": "blocked"
}],
"routing": {
"rules": [
{
"type": "field",
"ip": ["geoip:private"],
"outboundTag": "blocked"
}
]
}
}

客户端配置,比较简单,修改自以前的ws配置,也许有不需要的字段,但能用就不研究了。

{
"log": {
"loglevel": "warning"
},
"inbounds": [{
"port": 1080,
"listen": "0.0.0.0",
"protocol": "dokodemo-door",
"settings": {
"network": "tcp,udp",
"timeout": 300,
"followRedirect": true
}
}],
"outbounds": [{
"protocol": "vless",
"settings": {
"vnext": [
{
"address": "服务器域名",
"port": 443,
"users": [
{
"id": "就是服务器中的id",
"flow": "xtls-rprx-origin",
"encryption": "none",
"level": 1
}
]
}
]
},
"streamSettings": {
"network": "tcp",
"security": "xtls",
"xtlsSettings": {
"serverName": "服务器域名"
}
},
//"tag": "direct"
"tag": "proxy"
},{
"protocol": "freedom",
"settings": {},
"tag": "direct"
}],
"routing": {
"domainStrategy": "IPOnDemand",
"rules":[
{
"type": "field",
"domain": [ //放需要的网址列表
],
"outboundTag": "proxy"
},
// { //其它都直连
// "type": "field",
// "domain": ["regexp:\\.*\\.*"],
// "outboundTag": "direct"
// },

{
"type": "field",
"ip": ["geoip:cn",
"geoip:private"],
"outboundTag": "direct"
},
{
"type": "field",
"outboundTag": "direct",
"domain": ["skype.com",
"xsts.auth.xboxlive.com",
"clubhub.xboxlive.com",
"titlestorage.xboxlive.com",
"inventory.xboxlive.com",
"profile.xboxlive.com",
"privacy.xboxlive.com",
"social.xboxlive.com",
// "userpresence.xboxlive.com",
"win10fore.ndlmix.ourdvs.com",
"v10.events.data.microsoft.com",
"forzaplayercardstorage.blob.core.windows.net",
"xboxlive.cn",
"download.epicgames.com",
"download2.epicgames.com",
"epicgames-download1.akamaized.net",
"geosite:cn"]
}
]
},
"dns": {
"hosts": {
},
"servers": [
{
"address": "自建dns",
"port": 53,
"domains": [
]
},
//"8.8.8.8", 或者把这些打开
//"1.1.1.1",
"localhost"
]
},
"policy": {
"levels": {
"0": {
"uplinkOnly": 0,
"downlinkOnly": 0
}
},
"system": {
"statsInboundUplink": false,
"statsInboundDownlink": false
}
},
"other": {}
}

用起来呢,怎么说呢,感觉不大明显和ws。也许快了一点?游戏问题不是太大,就是na服刺激性整体要高于sa服。而且现在不开语音,貌似也不会被队友直接击杀了。

感觉现在所谓智能机越来越不能用了

网页看东西,总是只能看一小部分,就必须下app才能继续看了。下你妈的app啊,操你妈。以前还好,点取消还能往下看,现在不行了。不用智能机了。

但是啊,这台机多年来一点问题也没有,最近也开始常常打电话断线了,不知是2g网络的问题还是机器的毛病。

看资料还是开电脑看吧,感觉上比手机要少浪费点时间。

另外,华为出的最后一款自研处理器手机买几台来收藏,安卓系统太烂就不用了,以后鸿蒙上了再拿出来用,有的话个人也可以开发点应用试试。我想有我们在它就死不了。

Steam Link原来是linux系统啊,改成服务器吧

家里几个电视盒子,寻思着刷成Linux做服务。结果查了半天资料,很少,华为的cpu是不是完全封闭没人搞的?

今天准备玩帝国时代2,突然想起来,还有个steam link躺在那,查了下资料果然。

我还没开始整,先摘录下来,以后慢慢搞。

CPU ARMv7[1]
Memory 512 MB
Storage 4 GB
Graphics Vivante GC1000 GPU
Controller input Steam ControllerMost other gamepads
Connectivity 802.11ac WiFi, Bluetooth 4.0, 100 Mbit/s Fast Ethernet

Steam Link is listed as having the following technical specifications:[4]

  • Wired 100 Mbit/s Fast Ethernet and Wireless 802.11ac 2×2 (MIMO)
  • 3× USB 2.0 ports
  • Bluetooth 4.0
  • HDMI out
  • Support for the following control peripherals: Steam Controller, DualShock 4, Xbox One or 360 Wired Controller, Xbox 360 Wireless Controller for Windows, Logitech Wireless Gamepad F710, or keyboard and mouse

A tear-down revealed the following specific hardware parts:[5]

  • Marvell DE3005-A1 CPU
  • Marvell WiFi chip 88W8897
  • Vivante GC1000 GPU

Operating System

The Steam Link uses a modified version of Linux based on version 3.8 of the Linux kernel.[1] It is possible to enable root SSH access to the system.

咋root,更简单啊

简单来讲就是创建
1、/steamlink/config/system/enable_ssh.txt (据说内容不能为空随便填点) 到U盘,

2、插到steam link里开机,开机后再拔了u盘,再开机。

3、root密码
steamlink123

 

就找arm的程序往里放,应该就行了。(好像不行,再研究研究)

 

看看上面那个blog研究的非常透彻。

关休眠啊

创建`suspend_timeout_idle.txt` 和 `suspend_timeout_interactive.txt`. 内容就是数字,想多久不休眠,就填多大。 7200 是 2小时,自己按需要写里面去。

貌似写0,是永不休眠

 

然后用filezilla传进去/mnt/config/system/ ,如果已经开了ssh。然后重启steamlink

 

去除带宽限制

 

这个文件我没有改,好像steamlink里本来就有

streaming_settings.bin This config file has its maximum_bitrate_kbps set to 0. Which signifies no limit.streaming_settings_100000.bin This config file has its maximum_bitrate_kbps set to 100,000 for 100mbps.

关闭 25mbps hardware encoding limit inside the streaming_client binary 创建 `streaming_args.txt`文件 里面内容`–hardwarebitratelimit 0` (根据上面的blog Note: 0 will disable the limit but you may get black flickering, setting it to 35000 seems to work the best for me) 然后filezilla进去 /mnt/config/system/

Those two changes will allow you to exceed 25mbps bandwidth limit in the hardware encoder. Another interesting thing to play with is in the streaming_args.txt you can specify other arguments. Like –novsync. Below is a full list of the supported arguments that you can put in the streaming_args.txt

–fullscreen
–windowed
–[no]vsync
–[no]hwaccel
–noinput
–scale [1?]
–quality [1-3]
–captureres [WxH]
–framerate [N]
–hardwarebitratelimit [N (Kbit/s)]
–bitrate [N (Kbit/s)]
–burst [N (Kbit/s)]
–debug
–server [IP:PORT]
–settings [PATH]
–showdebugoverlay
–gameid ?

 

Arch Linux Chroot on Steam Link

个人比较喜欢ubuntu啊。慢慢整吧,应该就是做个系统了,做个服务器,把之前路由器的工作都放在这里,以后就掂这个玩意出去了。

1、

下载 http://fgthou.se/steamlink/create-chroot-device.sh

看一下这个,先把这俩包下载下来

http://fgthou.se/steamlink/mkfs-standalone.tar.gz http://fgthou.se/steamlink/steamlink-chroot.tar.gz

修改create-chroot-device.sh里

#curl -s http://fgthou.se/steamlink/mkfs-standalone.tar.gz | tar xvzC /dev/shm


tar -xvzf /home/steam/mkfs-standalone.tar.gz -C /dev/shm

#curl -s http://fgthou.se/steamlink/steamlink-chroot.tar.gz | tar xvzC /mnt/chroot


tar -xvzf /home/steam/steamlink-chroot.tar.gz -C /mnt/chroot

2、把它们传到steamlink /home/steam下

chmod +x 改下权限

插上u盘,看/dev/block/sd*是sd啥

然后执行 

./create-chroot-device.sh /dev/block/sd啥

3、到/mnt/chroot下

执行./dochroot.sh

就进入archlinux环境了,按照作者意思是先 pacman -Syu 更新一下。

实际操作呢应该

pacman -S nano

还有个要更新的组件,我忘了也pacman安装下然后添加源,更新速度快点
nano /etc/pacman.d/mirrorlist
Server = http://mirrors.163.com/archlinuxarm/$arch/$repo


pacman -Rdd ca-certificates-utils
pacman -S ca-certificates-utils
pacman -Syu

然后就想按什么就按什么了,速度上感觉还可以。

测了下,性能还真心不错。ipset内核不支持,就不用dnsmasq,用unbound,或者直接开v2ray,接到tplink上做网管。netgear主要是信号没有tplink强,现在都解决了。

1000贴魔咒

今天突然想起来之前上过的BBS,应该是从浮云开始就是3382,然后ROR雨声,再就海浩,海浩还在,其它都关了。都是我发够1000贴后,没多久就玩完了,海浩我就没发了,偶尔上去看看。

明年最想玩的游戏就是微软模拟飞行了吧。xgp还是没时间玩啊,先不开了,每天吃鸡也要白天玩6个小时。

首先别用移动宽带啊,电信手机网络晚上热点也玩不成了。游戏都不让玩的话,我也不折腾了,手机销号,断开网络,平时读书没事关心关心政治算了。

两个openwrt路由器单线复播iptv和网络

别的地方发总自动删,还不停说我账号有安全风险,发一贴就锁账号,解了锁后,再发立马又锁,这AI太傻吊了,不用了,就这一点它的自动驾驶车我是坚决不坐的。在这记录一下吧。

主要是有这需求,正好还有个TP-lINK841N刷了openwrt的,省了个网管交换机。另外讲个题外,这个路由器里面俩电容鼓包,一个端口10兆跳,开机需要预热,想修发现我三个烙铁全坏了,将就先用着吧。

就实现如图这功能

先看看光猫里IPTV的VLAN ID

然后配置弱电箱的路由器A,就是tplink了,刷了openwrt,剩的空间也不多,能用个ipv6,ddnsV6远程,但不能下分外网ipv6 ip,一分到客户端立马ipv6掉线。硬件太烂估计是,分ip的留给netgear 3700v4就行。

而这里不用配置协议

我是通过无线连接管理路由器A的 ,wan口最好配置成固定ip协议,关闭dhcpv6(我这tplink才需要啊),这样比较方便。wan6端口就开dhcpv6客户端

下面配置客厅的路由器B

我是把IPTV盒子插到第4口,想插哪个就选哪个不关联

IPTV口的配置和路由器A一样。WAN口也差不多,当然netgear开dhcpv6一点问题也没有。iptv盒子插上父母看,网可以上,XBOX一样玩。

现在就实现了弱电箱里只有一条连接客厅的网线通过两个openwrt路由器看iptv和上网。修焊枪去了。

推开世界的门

听了杨乃文的,泪流满面。是词吗?又找了几个版本的,只有她的可以让我流泪。

       推开世界的门
  你是站在门外怕迟到的人
  捧着一颗不懂计较的认真
  吻过你的眼睛就无畏的青春
  推开世界的门
  你是站在门外怕迟到的人
  捧着一颗不懂计较的认真
  吻过你的眼睛就无畏的青春
  左手的泥呀 右手的泥呀
  知己的花衣裳
  世界本该是你醒来的模样
左眼的悲伤 右眼的倔强
  看起来都一样
  原来你就是我自负的胆量
  推开世界的门
  你是站在门外最孤单的人
  捧着一颗不懂计较的认真
  路过你的时候 时间多残忍
  左手的泥呀 右手的泥呀
  知己的花衣裳
  世界本该是你诚实的模样
  左眼的悲伤 右眼的倔强
  看起来都一样
  原来你就是我走失的地方
  左手的泥呀 右手的泥呀
  知己的花衣裳
  世界本该是你诚实的模样
  年少的轻狂 迟暮的伤
  都等着被她原谅
  原来你就是我赎罪的渴望
  年少的轻狂 迟暮的伤
  都等着被她原谅
  原来你就是我回去的地方
推开世界的门
  留给你的宠爱别走得太快

v2ray HTTP2 openwrt ipset (二)

这回把http伪装改成http2,好处暂时在我看来就是少写几行配置。坏处,工序稍微复杂一点点。

http2需要tls,就需要证书,咋弄,网上搜搜,我就不转贴了。

而我写的这篇与白话文教程、网上其它文章不同的就在于“host”: 这里,个人感觉这才是精华所在。

配置如下

服务器:

{
"inbounds": [{
"port": 监听的端口(最好随便别整443啥的),
"listen":"监听的ip",
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "随便长点但应该不能用中文",
"level": 1,
"alterId": 64,
"security": "auto"
}
]
},
"streamSettings": {
"network": "h2",
"httpSettings": {
"host": ["baidu.com" ,"qq.com"
,"sina.cn" ,"jd.com"], //加多点国内流量大的通俗域名
"path": "/随便应该不能用中文但最好正常点的单词,最好用那些通俗网站里的文件夹名/"
},
"security": "tls",
"tlsSettings": {
"certificates": [
{
"certificateFile": "/etc/v2ray/v2ray.crt",
"keyFile": "/etc/v2ray/v2ray.key"
}
]
}
}
}],
"outbounds": [{
"protocol": "freedom",
"settings": {}
},{
"protocol": "blackhole",
"settings": {},
"tag": "blocked"
}],
"routing": {
"rules": [
{
"type": "field",
"ip": ["geoip:private"],
"outboundTag": "blocked"
}
]
}
}

openwrt的配置

{
"log": {
"loglevel": "warning"
},
"inbounds": [{
"port": openwrt开放的端口,
"listen": "0.0.0.0",

"protocol": "dokodemo-door",
"settings": {
"address": "",
"network": "tcp,udp",
"timeout": 300,
"followRedirect": true
}
}],

"outbounds": [{
"protocol": "vmess",
"settings": {
"vnext": [
{
"address": "服务器地址",
"port": 服务器端口,
"users": [
{
"id": "服务器clients id",
"alterId": 64,
"security": "auto"
}
]
}
]
},
"streamSettings": {
"network": "h2",
"security": "tls",
"httpSettings": {
"host": ["baidu.com","qq.com","www.163.com","bing.com"], //可以加一些和服务器不同的域名,它会随机和服务器连接。
"path": "/服务器设定的文件夹/"
}
},
"tag": "direct"
},{
"protocol": "freedom",
"settings": {},
"tag": "direct"
}],
"routing": {
"domainStrategy": "IPOnDemand",
"rules":[
{
"type": "field",
"ip": ["geoip:cn",
"geoip:private"],
"outboundTag": "direct"
},
{
"type": "field",
"outboundTag": "direct",
"domain": ["skype.com",
"xsts.auth.xboxlive.com",
"clubhub.xboxlive.com",
"titlestorage.xboxlive.com",
"inventory.xboxlive.com",
"profile.xboxlive.com",
"privacy.xboxlive.com",
"social.xboxlive.com",
// "userpresence.xboxlive.com",
"win10fore.ndlmix.ourdvs.com",
"v10.events.data.microsoft.com",
"forzaplayercardstorage.blob.core.windows.net",
"xboxlive.cn", //玩xboxone加这些少费点流量
"geosite:cn"]
}
]
},
"dns": {
"hosts": {
},
"servers": [
{
"address": "自己的DNS",
"port": 53,
"domains": [
]
},
"localhost"
]
},
"policy": {
"levels": {
"0": {
"uplinkOnly": 0,
"downlinkOnly": 0
}
},
"system": {
"statsInboundUplink": false,
"statsInboundDownlink": false
}
},
"other": {}
}

其它ipset设置看之前的文章。就可以了。