Browse Source

Update tproxy_ipv4_and_ipv6.md

pull/317/head
SQLimit 2 years ago committed by yuhan6665
parent
commit
f04b82baf6
  1. 71
      docs/document/level-2/tproxy_ipv4_and_ipv6.md

71
docs/document/level-2/tproxy_ipv4_and_ipv6.md

@ -4,7 +4,7 @@ title: TProxy 透明代理 (ipv4 and ipv6)
# TProxy 透明代理(ipv4 and ipv6)配置教程
本配置参考了[TProxy 透明代理的新 V2Ray 白话文教程](https://guide.v2fly.org/app/tproxy.html),[透明代理(TProxy)配置教程](https://xtls.github.io/document/level-2/tproxy.html#%E5%BC%80%E5%A7%8B%E4%B9%8B%E5%89%8D)以及[透明代理通过 gid 规避 Xray 流量](https://xtls.github.io/document/level-2/iptables_gid.html),加入了透明代理对 ipv6 的支持,并且使用 VLESS-TCP-XTLS-RPRX-Vision 方案对抗封锁。
本配置参考了[TProxy 透明代理的新 V2Ray 白话文教程](https://guide.v2fly.org/app/tproxy.html),[透明代理(TProxy)配置教程](https://xtls.github.io/document/level-2/tproxy.html#%E5%BC%80%E5%A7%8B%E4%B9%8B%E5%89%8D)以及[透明代理通过 gid 规避 Xray 流量](https://xtls.github.io/document/level-2/iptables_gid.html),加入了透明代理对 ipv6 的支持,并且使用 VLESS-TCP-XTLS-RPRX-Vision 方案对抗封锁 (推荐使用 1.7.2 及之后版本)
关于 Xray 的配置并不是本文重点,使用者可依实际情况进行修改,具体可以参考[官方文档示例](https://github.com/XTLS/Xray-examples)或其他优秀示例 比如[@chika0801](https://github.com/chika0801/Xray-examples) 又如[@lxhao61](https://github.com/lxhao61/integrated-examples)。
@ -33,14 +33,12 @@ title: TProxy 透明代理 (ipv4 and ipv6)
::: tip 透明代理中的 fakedns
在旁路由的透明代理中,使用 `fakedns` 配合 `routeOnly` 以及 `domainSrategy``AsIs` 时,可最大程度降低访问延迟,详见文档[入站代理](https://xtls.github.io/config/inbound.html#sniffingobject)
关于 `fakedns` 相关内容可参阅[官方文档](https://xtls.github.io/config/fakedns.html)
在旁路由的透明代理中,使用`routeOnly` 配合 `domainSrategy``AsIs` 时,可最大程度降低访问延迟,详见文档[入站代理](https://xtls.github.io/config/inbound.html#sniffingobject)
:::
<Tabs title="客户端配置">
<Tab title="客户端使用 fakedns">
<Tab title="客户端使用 routeOnly">
```json
{
@ -58,8 +56,7 @@ title: TProxy 透明代理 (ipv4 and ipv6)
},
"sniffing": {
"enabled": true,
"destOverride": ["fakedns", "http", "tls"],
"metadataOnly": false,
"destOverride": ["http", "tls"],
"routeOnly": true
},
"streamSettings": {
@ -107,9 +104,6 @@ title: TProxy 透明代理 (ipv4 and ipv6)
{
"tag": "direct",
"protocol": "freedom",
"settings": {
"domainStrategy": "UseIP"
},
"streamSettings": {
"sockopt": {
"mark": 255
@ -124,34 +118,12 @@ title: TProxy 透明代理 (ipv4 and ipv6)
"type": "http"
}
}
},
{
"tag": "dns-out",
"protocol": "dns",
"streamSettings": {
"sockopt": {
"mark": 255
}
}
}
],
"dns": {
"hosts": {
"填你VPS的域名": "填你VPS的ipv4或ipv6" //注意修改
},
"servers": ["fakedns"]
},
"routing": {
"domainMatcher": "mph",
"domainStrategy": "AsIs",
"rules": [
{
"type": "field",
"inboundTag": ["all-in"],
"port": 53,
"network": "udp",
"outboundTag": "dns-out"
},
{
"type": "field",
"inboundTag": ["all-in"],
@ -181,7 +153,7 @@ title: TProxy 透明代理 (ipv4 and ipv6)
},
{
"type": "field",
"ip": ["geoip:private", "geoip:cn"],
"ip": ["geoip:private"],
"outboundTag": "direct"
}
]
@ -191,7 +163,7 @@ title: TProxy 透明代理 (ipv4 and ipv6)
</Tab>
<Tab title="客户端不使用 fakedns">
<Tab title="客户端不使用 routeOnly">
```json
{
@ -356,7 +328,7 @@ title: TProxy 透明代理 (ipv4 and ipv6)
},
{
"type": "field",
"ip": ["geoip:private", "geoip:cn"],
"ip": ["geoip:private", "geoip:cn"], //此处可加入 VPS IP 避免 ssh 时被代理
"outboundTag": "direct"
},
{
@ -402,7 +374,12 @@ title: TProxy 透明代理 (ipv4 and ipv6)
"flow": "xtls-rprx-vision"
}
],
"decryption": "none"
"decryption": "none",
"fallbacks": [
{
"dest": 8080 //回落
}
]
},
"streamSettings": {
"network": "tcp",
@ -454,6 +431,16 @@ ip -6 route add default via fd00:6868:6868::1 #写主路由 ipv6, 采用局域
```
::: tip 使用方法
直接将命令复制到旁路由终端执行
:::
::: tip 关于直连从主路由发出
在旁路由使用命令`ip route show`,如果使用下属方法一,则`default via`后应是主路由 ip,无需更改;如使用下述方法二,则`default via`后应是旁路由 ip,此时直连网站 DNS 解析会回环,造成直连网站无法访问,因此需指定为主路由 ip。
:::
如果是在路由器上指定了默认网关为旁路由(亦即下述“局域网设备上网设置方法二”),那么就需要设置上述 `# 直连从主路由发出` ,除了通过 iproute2 命令行方式设置,也可以通过 dhcpcd 或者 systemctl-network 设置静态 IP,这里以 dhcpcd 为例,编辑 `/etc/dhcpcd.conf` 文件,在最下方加入如下配置,具体 IP 根据你的实际情况修改,其中 `interface` 可以通过 `# ip link show` 查看要设定的网口或者无线设备。
```
@ -466,11 +453,6 @@ static domain_name_servers=192.168.31.1 fd00:6868:6868::1
这样通过静态 IP 设置 IP 及网关后就无需每次开机设置 `# 直连从主路由发出`
::: tip 使用方法
直接将命令复制到旁路由终端执行
:::
::: warning 注意
以下 nftables 配置与 iptables 配置二选一,不可同时使用。
@ -596,11 +578,6 @@ table inet xray {
最后使用 root 权限执行该文件即可:`# ./nftables.rules`或`# source nftables.rules`
:::
::: tip 关于直连从主路由发出
在旁路由使用命令`ip route show`,如果使用下属方法一,则`default via`后应是主路由 ip,无需更改;如使用下述方法二,则`default via`后应是旁路由 ip,此时直连网站 DNS 解析会回环,造成直连网站无法访问,因此需指定为主路由 ip。
:::
其中,网关地址`192.168.0.0/16`, `fd00::/8`等可由`ip address | grep -w inet | awk '{print $2}'`以及`ip address | grep -w inet6 | awk '{print $2}'`[获得](https://xtls.github.io/document/level-2/iptables_gid.html#_4-%E8%AE%BE%E7%BD%AE-iptables-%E8%A7%84%E5%88%99)
或者在 windows 网络设置中查看。
@ -722,7 +699,7 @@ WantedBy=multi-user.target
## Finally
按照以上方法设置后设备即可双栈访问,进入测试网站比如 https://ipv6-test.com/ 可以看到如下结果
按照以上方法设置后设备即可双栈访问,进入测试网站比如 https://ipv6-test.com/ 可以看到如下结果 (需要代理此网站才能看到如下结果)
<img width="700" alt="image" src="https://user-images.githubusercontent.com/110686480/208743723-f8a2751b-43d0-4353-9383-5ae0e00e9449.png">

Loading…
Cancel
Save