diff options
author | zfl9 <zfl9.com@gmail.com> | 2020-03-07 15:24:26 +0800 |
---|---|---|
committer | zfl9 <zfl9.com@gmail.com> | 2020-03-07 15:24:26 +0800 |
commit | 421dd527087f67098c1c93e42b5f1c09851cc84e (patch) | |
tree | 36e9243445691415c3bf1030df3cefd1c3125016 | |
parent | use libev instead of libuv (diff) | |
download | dns2tcp-421dd527087f67098c1c93e42b5f1c09851cc84e.tar.gz dns2tcp-421dd527087f67098c1c93e42b5f1c09851cc84e.tar.bz2 dns2tcp-421dd527087f67098c1c93e42b5f1c09851cc84e.zip |
use libev instead of libuv
-rw-r--r-- | README.md | 21 |
1 files changed, 21 insertions, 0 deletions
@@ -18,4 +18,25 @@ dns2tcp -L"127.0.0.1#5353" -R"8.8.8.8#53" - `-R` 选项指定远程 DNS 服务器地址,该 DNS 服务器应支持 TCP 查询。 - 该例子中,dns2tcp 会将从 `127.0.0.1#5353` 地址收到 dns query 转换为 tcp 形式的 dns query,然后与 `8.8.8.8#53` 服务器建立 TCP 连接,连接建立后,会将此 dns query 发送给 `8.8.8.8#53`,然后等待 `8.8.8.8#53` 的 dns reply,收到完整 packet 后,将其转换为 udp 形式的 dns reply,最后将其发送给与之关联的请求客户端,并释放 TCP 连接及相关数据。 +## 其它参数 +```bash +usage: dns2tcp <-L listen> <-R remote> [-s syncnt] [-6rafvVh] + -L <ip#port> udp listen address, this is required + -R <ip#port> tcp remote address, this is required + -s <syncnt> set TCP_SYNCNT(max) for remote socket + -6 enable IPV6_V6ONLY for listen socket + -r enable SO_REUSEPORT for listen socket + -a enable TCP_QUICKACK for remote socket + -f enable TCP_FASTOPEN for remote socket + -v print verbose log, default: <disabled> + -V print version number of dns2tcp and exit + -h print help information of dns2tcp and exit +bug report: https://github.com/zfl9/dns2tcp. email: zfl9.com@gmail.com +``` +- -s:对 TCP 套接字设置 TCP_SYNCNT 选项,其值将影响 TCP 连接超时时间,但注意改值并不直接等于超时时间,具体请谷歌。 +- -6:对 UDP 套接字设置 IPV6_V6ONLY 选项,该选项与 `IPv4-mapped IPv6 address` 有关系,具体也不解释了,具体请谷歌。 +- -r:对 UDP 套接字设置 SO_REUSEPORT 选项,此选项在 Linux 3.9+ 才有(打过相应内核补丁的除外),用于多进程负载均衡。 +- -a:对 TCP 套接字设置 TCP_QUICKACK 选项,此选项在 Linux 2.4.4+ 才有,此选项和 TCP_NODELAY(默认启用) 类似但不全相同。 +- -f:对 TCP 套接字启用 TCP_FASTOPEN 选项,TFO 特性在 Linux 3.7+ 才有,若要 TFO 生效,还请留意 `net.ipv4.tcp_fastopen`。 + Enjoy it! |