Skip to content
This repository has been archived by the owner on Apr 3, 2021. It is now read-only.

【问题】go-tun2socks 能支持 tap 口吗? #37

Closed
sbilly opened this issue Feb 18, 2019 · 4 comments
Closed

【问题】go-tun2socks 能支持 tap 口吗? #37

sbilly opened this issue Feb 18, 2019 · 4 comments

Comments

@sbilly
Copy link

sbilly commented Feb 18, 2019

目前我的应用里面会使用一些二层的协议,能否通过支持 tap 口来实现对这些协议的支持呢?

@eycorsican
Copy link
Owner

有支持 tap 的想法。但你是否能具体描述下你想怎么应用?

@sbilly
Copy link
Author

sbilly commented Feb 19, 2019 via email

@eycorsican
Copy link
Owner

表示不太看得懂。

假如支持了 tap,那应该也只会是 tap2socks,你自己的程序是拿不到 IP 包的,如果你的程序想拿 IP 包,应该去直接读 tun,或者你是想 tun2socks 开个接口出来把特定 IP 包直接传给你程序?这个如果放在 tun2socks 里面处理的话,你可以实现一个 filter,在 filter 里面把想要的 IP 包过滤出来。

另外为什么能够摆脱路由呢?据我所知,就算在 Linux 上,如果不改内核,所有包还是得按路由来,如果想不按路由来,可能需要其它工具的辅助,比如 iptables,policy routing 之类的,这方面我并不熟悉。

@sbilly
Copy link
Author

sbilly commented Feb 19, 2019

tap 可以拿到完整的包含(mac 地址在内的以太网包)。

我的环境是中间类似于路由器的设备,但这个设备上没有任何的 IP 地址(物理网卡 / 虚拟网卡上都没有 IP 地址)。我期望从 tap 口拿到包,把整个包 encode 以后放在 udp 包中用 raw_socket 再发出去。

@sbilly sbilly closed this as completed Feb 23, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants