Comments (20)
内核监听的端口没有办法远程打开reuse port,使用防火墙的DNAT或natmap的应用层转发。
from natmap.
或者试试先跑natmap打洞,然后再启动wireguard。
from natmap.
或者试试先跑natmap打洞,然后再启动wireguard。
不行,先打洞,再启动wireguard提示端口占用,启动不了,只能试试用户态的wireguard-go看看吧,再不行就只能用转发了
很好用的软件,我现在用的笨办法,通过调用脚本把IP和端口发到远程服务器,访问远程服务器获取IP和端口,再配置到应用里面,如果能有更好的办法就好了。
from natmap.
或者试试先跑natmap打洞,然后再启动wireguard。
不行,先打洞,再启动wireguard提示端口占用,启动不了,只能试试用户态的wireguard-go看看吧,再不行就只能用转发了
优先用防火墙的端口转发(DNAT),几乎是零开销的,实在不行再用应用层转发。
很好用的软件,我现在用的笨办法,通过调用脚本把IP和端口发到远程服务器,访问远程服务器获取IP和端口,再配置到应用里面,如果能有更好的办法就好了。
我是使用域名通过DNS分发IP和端口的,脚本参数[3]给出了IP4P的值,在脚本中写到域名的AAAA记录里。客户端侧试试修改代码增加IP4P的支持(可参考 [1])。或者写个脚本启动器先解析域名得到AAAA地址再转换为IPv4和端口,启动客户端。
[1] https://github.com/heiher/hev-fsh/blob/master/src/hev-fsh-config.c#L433-L444
from natmap.
或者试试先跑natmap打洞,然后再启动wireguard。
不行,先打洞,再启动wireguard提示端口占用,启动不了,只能试试用户态的wireguard-go看看吧,再不行就只能用转发了
优先用防火墙的端口转发(DNAT),几乎是零开销的,实在不行再用应用层转发。
很好用的软件,我现在用的笨办法,通过调用脚本把IP和端口发到远程服务器,访问远程服务器获取IP和端口,再配置到应用里面,如果能有更好的办法就好了。
我是使用域名通过DNS分发IP和端口的,脚本参数[3]给出了IP4P的值,在脚本中写到域名的AAAA记录里。客户端侧试试修改代码增加IP4P的支持(可参考 [1])。或者写个脚本启动器先解析域名得到AAAA地址再转换为IPv4和端口,启动客户端。
[1] https://github.com/heiher/hev-fsh/blob/master/src/hev-fsh-config.c#L433-L444
谢谢回复,我现在在用手机端的wireguard客户端,暂时没有能力修改代码或写个前置的启动器解析域名获取IP和端口,先暂时这样用了,试用这几天只要PPPOE不断开重新拨号,IP和端口基本是固定的,设置一次可以用个几天
from natmap.
增加了IP4P地址格式支持的WireGuard Android客户端: https://github.com/heiher/wireguard-android/releases
在natmap的脚本中将UDP映射后的IP4P地址更新到DDNS域名的AAAA记录中后,使用这个WireGuard Android客户端,Peer地址写为 domain:0
from natmap.
增加了IP4P地址格式支持的WireGuard Android客户端: https://github.com/heiher/wireguard-android/releases
在natmap的脚本中将UDP映射后的IP4P地址更新到DDNS域名的AAAA记录中后,使用这个WireGuard Android客户端,Peer地址写为
domain:0
太6了!不过似乎有点小BUG,填写解析IP4P的DDNS域名:0 后,貌似解析的端口出错了,IPv4地址解析正确,端口解析为-48了,另外是否可以支持直接输入IP4P地址,方便调试,谢谢大佬!!!
from natmap.
哈哈,Java不合格,我改一下,把byte当成unsigned了。 😵💫
from natmap.
Done: https://github.com/heiher/wireguard-android/releases/
from natmap.
经过测试完全正常使用,感谢大佬极速的响应,这个工具又多了一个实用的方案
from natmap.
感觉有更简便的方法:
方法一:软路由上端口50001跑内核监听的wireguard,端口50002跑natmap打洞(绑定模式),软路由上配置防火墙端口转发,把wan口上目的端口50002转至软路由lan口ip的50001。
方法二:软路由上端口50001跑内核监听的wireguard,端口50002跑natmap打洞(转发模式),并通过参数 -t 127.0.0.1 -p 50001,应用层转发。
方法一开销比方法二小,方法二不用配防火墙灵活。
from natmap.
确实,没想到这个办法,试试方法一,之前设置防火墙DNAT转发没成功,目前用的都是natmap应用层转发,再找找原因,感谢
from natmap.
发现一个尴尬的问题,我的目标是在任何有外网的环境下通过wireguard连回家,但是有些路由器的DNS服务器不支持解析AAAA记录,也就是说不能解析IP4P的域名了,并且一般支持解析IPV6域名的一般都支持IPV6通信,这样我不如直接用IPV6连接了。要解决可能需要直接查询支持AAAA的DNS服务器,不用系统默认DNS ,我看了您魔改的Wireguard客户端,要实现可能稍微有点麻烦,https://github.com/heiher/wireguard-android/blob/b14d7d9557cdd8a029a3419d5b2a4d50a77fdb6f/tunnel/src/main/java/com/wireguard/config/InetEndpoint.java#L100
final InetAddress[] candidates = InetAddress.getAllByName(host);
这里不用系统默认DNS解析,改成内置固定支持AAAA解析的DNS服务器解析,我不会JAVA,不知道实现起来麻烦不。
from natmap.
什么DNS不支持解析AAAA记录?我这无IPv6的环境也可以正常使用的,技术原理上解析AAAA记录也没有要求系统必须配置了IPv6。
from natmap.
是的,一些比较老的不支持IPV6的路由器,用路由器默认DNS比如192.168.1.1之类的,nslookup 解析不到AAAA的记录,我明天再找环境试试,刚才试了邻居的网络TL-WR886N路由器,不支持IPV6,DNS解析不到AAAA记录,可能环境比较小众,我再测试看看吧
from natmap.
好的,看看有没有自定义DNS的方法。目前明确公共DNS,比如114.114.114.114、223.5.5.5、8.8.8.8都是支持的。
from natmap.
可以了,刚才可能是手机有问题,VPN关掉重新打开可以了,可能是刚才连接失败后VPN的状态一直没变过来。不过确实有些路由器的DNS不支持解析AAAA,比如DNSMASQ就可以设置丢弃IPv6的解析记录,如果能自定义DNS就更好了,环境比较小众,如果麻烦就不用费劲了,感谢
from natmap.
运营商的4G、5G网络的DNS肯定是支持的;如果WIFI网络遇到不支持的,不如改一下网络连接里的DNS地址简单一些。
from natmap.
是的,我也发现了,如果用WiFi连不上,就切到流量连接后再开启WiFi就行了,这样更简单
from natmap.
哈哈,机智~
from natmap.
Related Issues (20)
- [shares] notification scripts HOT 4
- [shares] usage and demos HOT 12
- luci-app-natmap这个不兼容op HOT 9
- 打洞失败:[E] hev_sock_client_pfwd src/hev-sock.c:316 [W] client_task_entry src/hev-tfwd.c:52 HOT 6
- 怎样在FreeBSD上编译? HOT 2
- 命令行以及luci均报错无法使用 HOT 2
- public STUN servers HOT 1
- 使用-4参数指定的情况下绑定端口,绑定到了ipv6地址上,给ipv4分配了新的端口 HOT 2
- [Feature Request] UPnP Server HOT 9
- [E] hev_sock_client_stun src/hev-sock.c:281 [E] task_entry src/hev-stun.c:289 HOT 13
- [E] hev_exec_run src/hev-exec.c:90 似乎无法调用通知脚本 HOT 2
- 是不是调用脚本一定时间内没响应就终止本进程? HOT 7
- 参数http server是做什么用的 HOT 1
- 一开通知脚本就不能运行了,请求大佬协助 HOT 4
- 可以实现DDNS自动更新IP+端口吗? HOT 1
- [E] Cannot assign requested address
- 请问在ipv6入站被禁的环境中可以使用该程序实现外部访问吗? HOT 3
- [E] tnsk_run src/hev-tnsk.c:103 Start TCP keep-alive service failed. HOT 1
- 建议支持指定服务器端口 HOT 10
- 是不是可以用域名的TXT记录存端口 HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from natmap.