Привет! Делаю на OpenWRT 23.05.5 по инструкции. Inbound в xray:
{
"tag": "dokoproxy",
"listen": "127.0.0.1",
"port": 10199,
"protocol": "dokodemo-door",
"settings": {
"network": "tcp,udp",
"followRedirect": true
},
"sniffing": {
"enabled": true,
"destOverride": [
"http",
"tls",
"quic"
]
}
}
Фаервол в OpenWRT большой и сложный, заменил ручками максимально простым с одним правилом маскарадинга:
#!/usr/sbin/nft -f
flush ruleset
table inet fw4 {
chain prerouting {
type nat hook prerouting priority dstnat; policy accept;
}
chain postrouting {
type nat hook postrouting priority srcnat; policy accept;
ip saddr 192.168.69.0/24 oifname "br-wan" counter masquerade
}
chain mangle_prerouting {
type filter hook prerouting priority mangle; policy accept;
}
}
Добавил 198 proxy
в /etc/iproute2/rt_tables
, маршруты:
ip rule add fwmark 0x198 table proxy priority 100
ip route add local 0.0.0.0/0 dev lo table proxy
ip -6 rule add fwmark 0x198 table proxy priority 100
ip -6 route add local ::/0 dev lo table proxy
и непосредственно правило nft 'add rule inet fw4 mangle_prerouting iifname "br-lan" meta l4proto { tcp, udp } counter log meta mark set 0x198 tproxy ip to 127.0.0.1:10199 accept'
В логе есть записи Fri Dec 27 11:30:00 2024 IN=br-lan OUT= PHYSIN=lan1 MAC=36:07:b2:f1:59:d4:00:0c:29:3e:13:46:08:00 SRC=192.168.69.229 DST=188.40.167.81 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=12060 DF PROTO=TCP SPT=36362 DPT=80 WINDOW=64240 RES=0x00 SYN URGP=0
, а в логе xray
ничего. При telnet 127.0.0.1 10199
это подключение в логе xray видно. Без правила с tproxy интернет через маскарадинг, разумеется, работает
Та же самая конфигурация на обычном Debian 12 работает с полпинка. В логе xray видно подключение, запрос и detour. Снимите, пожалуйста, с ручника! Что ещё можно подкрутить на OpenWRT? Крутится оно на железке BPI-R3