RouterOS 的容器到底支不支持 TUN 啊?

305 天前
 mmr

Clash 始终接管不了流量,大佬们有人搞成功过吗,指导一下

3429 次点击
所在节点    宽带症候群
33 条回复
urzz
305 天前
跑题问一下,你跑的镜像是啥?
mmr
305 天前
@urzz clash-premium
piaorenyong
305 天前
支持
目前正常使用
winson030
305 天前
帖 yaml 出来看看👀
gam2046
305 天前
chr 版本的 docker 用来跑过 zerotier ,TUN/TAP 是可以正常挂载进去的。
mmr
305 天前
@winson030
######### 锚点 start #######
# proxy 相关
pr: &pr {type: select, proxies: [默认,香港,台湾,日本,新加坡,美国,其它地区,全部节点,自动选择,DIRECT]}

#这里是订阅更新和延迟测试相关的
p: &p {type: http, interval: 86400, health-check: {enable: true, url: https://www.gstatic.com/generate_204, interval: 36000}}


urltestinterval: &urltest-interval
type: url-test
url: 'http://www.gstatic.com/generate_204'
interval: 300
lazy: true
######### 锚点 end #######

proxy-providers:
xxxxxxxxxxxxxxxxxxxxxx

ipv6: true
allow-lan: true
mixed-port: 7890
unified-delay: false
tcp-concurrent: true
external-controller: 0.0.0.0:9090
secret: "123456"
external-ui: ui
# external-ui-url: "https://github.com/MetaCubeX/metacubexd/archive/refs/heads/gh-pages.zip"

geodata-mode: true
geox-url:
geoip: "https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geoip.dat"
geosite: "https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geosite.dat"
mmdb: "https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/country.mmdb"

find-process-mode: strict
global-client-fingerprint: chrome

profile:
store-selected: true
store-fake-ip: true

sniffer:
enable: true
sniff:
HTTP:
ports: [80, 8080-8880]
override-destination: true
TLS:
ports: [443, 8443]
QUIC:
ports: [443, 8443]

tun:
enable: true
stack: gvisor
dns-hijack:
- 'any:53'
auto-route: true
auto-detect-interface: true

dns:
enable: true
listen: :1053
ipv6: true
# enhanced-mode: fake-ip
enhanced-mode: redir-host
fake-ip-filter:
- "*"
- "+.lan"
- "+.local"
nameserver:
- https://doh.pub/dns-query
- https://dns.alidns.com/dns-query
proxy-server-nameserver:
- https://doh.pub/dns-query
nameserver-policy:
"geosite:cn,private":
- https://doh.pub/dns-query
- https://dns.alidns.com/dns-query
"geosite:geolocation-!cn":
- "https://dns.cloudflare.com/dns-query#dns"
- "https://dns.google/dns-query#dns"

proxies:

proxy-groups:
................................
mmr
305 天前
@gam2046 您咋配置的,具体说一下吧,需要特别指定网卡吗??
mmr
305 天前
@piaorenyong 能具体说说如何配置吗?
gam2046
305 天前
@mmr #7 没什么特别的,TUN 是二层的,相当于虚拟出来一个新的网卡挂到路由下面。因此 docker 里面的路由一般是不需要特别设置的。

我的操作步骤就是按这位大哥来的: https://forum.mikrotik.com/viewtopic.php?t=190121

你的情况其实和我不太一样,你可能需要 docker container 作为一个代理或者网关,但是 ros 的 container 似乎是不支持从容器外进行访问的。

可以尝试的路子是 ros 配置路由规则连通 veth 到 container 的网络,容器内再自己手动配置 IP forward 以及路由出口。
f0rger
305 天前
反正我的 5009 没成功过,可能是因为 arm 。大佬们成功的可以分享一下
mantouboji
305 天前
w01230
305 天前
RB5009 里跑 clash.meta 正常,clash-premium 时不行
keyfunc
305 天前
建议把防火墙的配置和路由配置输出下
ip/firewall/nat/ export
ip/firewall/mangle/ export
ip/route/ export
sayemike
305 天前
ros 容器不支持
auto-route: true
auto-detect-interface: true
按 11 楼的文章做,可以跑起来
terrancesiu
305 天前
@mantouboji 我说怎么提示我,原来是我写的,哈哈。
mmr
305 天前
@terrancesiu 谢谢大佬文章,已经跑通了,不过请问我要是把 fake-ip 以外的 IP 转发到 clash 里,流量会被代理吗,纯 IP 可以代理吗??
terrancesiu
305 天前
@mmr 可以,现在 clash 的 tun 支持直接丢路由进去了,我之前最后关于电报的搞法过时了。之前有人针对这个发了 email 给我,最后我直接转发他研究成功的结果方法给你:
实现方法,要实现 IP 地址引入到 TUN 口步骤:
一、Routeros 的配置
1 、Routeros 上配置路由将要翻的路由下一跳指向 Clash 的 VETH 接口
先在 ip firewall address-list 里面配置地址组

add address=108.175.32.0/20 list=free
add address=192.173.64.0/18 list=free
add address=198.38.96.0/19 list=free

2 、配置 managle 路由标记
/ip firewall mangle
add action=mark-routing chain=prerouting dst-address-list=free new-routing-mark=Free passthrough=yes

3 、路由表里面配置将需要翻的网段走向 clash 的 VETH 端口
add disabled=no dst-address=0.0.0.0/0 gateway=172.17.0.2 routing-table=Free suppress-hw-offload=n


二、docker 里面的 Clash 需要配置将这些路由引入到 utun 接口,也就是 Tun 端口里面。
route add -net 103.2.30.0/23 dev utun
route add -net 108.175.32.0/20 dev utun
route add -net 125.209.208.0/20 dev utun
sayemike
305 天前
@terrancesiu 在 clash 容器中手动添加的路由,容器重启后会丢失
1 ,在 ROS 添加静态路由,将目标 IP 指向 clash 容器的 IP ,这样可以不用 managle 规则
2 ,在 clash 的 config.yaml 中配置需要科学的 IP 地址规则
3 ,在 clash 挂载目录下创建个 shell 文件,读取 config.yaml 中标记走科学的 ip 地址,添加路由
4 ,在 ros 容器启动项中设置命令,执行该 shell
这样做的好处是,路由器或容器重启后,容器内手动添加的路由规则会自动创建
mantouboji
305 天前
怒赞。建议你把最新更新状态单独发一个帖子在这里。
BI4NBN
304 天前
给你一个我正在有用的配置
/ip firewall mangle

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1017263

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX