Files
warp/old/README.md
T
fscarmen c79bf7eb47 Update README.md
Former-commit-id: 0c737f7cdf49893a80b28259d7c9d3d25a808186
2021-09-12 17:46:56 +08:00

137 lines
6.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 【WGCF】连接CF WARP为服务器添加IPv4/IPv6网络
* * *
# 目录
- [脚本特点](README.md#脚本特点)
- [WARP好处](README.md#WARP好处)
- [菜单选择(推荐)](README.md#菜单选择推荐)
- [为 KVM IPv4 only 添加 IPv6 网络接口方法](README.md#为-kvm-ipv4-only-添加-ipv6-网络接口方法)
- [为 KVM IPv4 only 或原生双栈 添加双栈网络接口方法](README.md#为-kvm-ipv4-only-或原生双栈-添加双栈网络接口方法)
- [为 KVM IPv6 only 添加 IPv4 网络接口方法](README.md#为-kvm-ipv6-only-添加-ipv4-网络接口方法)
- [为 KVM IPv6 only 添加双栈网络接口方法](README.md#为-kvm-ipv6-only-添加双栈网络接口方法)
- [为 LXC IPv6 only 添加 IPv4 网络接口方法](README.md#为-lxc-ipv6-only-添加-ipv4-网络接口方法)
- [为 LXC IPv6 only 添加双栈网络接口方法](README.md#为-lxc-ipv6-only-添加双栈网络接口方法)
- [临时、永久关闭和开启WGCF网络接口](README.md#临时永久关闭和开启WGCF网络接口)
- [EUserv 主机名变为 DiG9 不能正常使用 NAT64 解决办法](https://github.com/fscarmen/warp/tree/main/DiG9#euserv-主机名变为-dig9-不能正常使用-nat64-解决办法)
- [WARP原理](README.md#WARP原理)
- [致谢](README.md#致谢下列作者和项目排名不分先后)
* * *
## 脚本特点
* 根据不同系统综合情况显示不同的菜单,避免出错
* 结合 Linux 版本和虚拟化方式,自动优选三个 WireGuard 方案。网络性能方面:内核集成 WireGuard>安装内核模块>wireguard-go
* 智能判断 WGCF 作者 github库的最新版本 Latest release),
* 智能判断vps操作系统:Ubuntu 18.04、Ubuntu 20.04、Debian 10、Debian 11、CentOS 7、CentOS 8,请务必选择 LTS 系统
* 智能判断硬件结构类型:Architecture 为 AMD 或者 ARM
* 智能分析内网和公网IP生成 WGCF 配置文件
* 结束后会有结果提示,并自动清理安装时的临时文件
## WARP好处
* 解锁奈飞流媒体
* 避免 Google 验证码或是使用 Google 学术搜索
* 可调用 IPv4 接口,使青龙和V2P等项目能正常运行
* 由于可以双向转输数据,能做对方VPS的跳板和探针,替代 HE tunnelbroker
* 能让 IPv6 only VPS 上做的节点支持 Telegram
* IPv6 建的节点能在只支持 IPv4 的 PassWall、ShadowSocksR Plus+ 上使用
![menu.jpg](https://i.loli.net/2021/09/08/kmq816Vpl5Us9ng.jpg)
## 菜单选择(推荐)
```bash
wget -N https://cdn.jsdelivr.net/gh/fscarmen/warp/main/old/menu.sh && chmod +x menu.sh && ./menu.sh
```
## 为 KVM IPv4 only 添加 IPv6 网络接口方法
```bash
wget -N "https://raw.githubusercontent.com/fscarmen/warp/main/old/warp6.sh" && chmod +x warp6.sh && ./warp6.sh
```
## 为 KVM IPv4 only 或原生双栈 添加双栈网络接口方法
```bash
wget -N "https://raw.githubusercontent.com/fscarmen/warp/main/old/dualstack6.sh" && chmod +x dualstack6.sh && ./dualstack6.sh
```
## 为 KVM IPv6 only 添加 IPv4 网络接口方法
```bash
echo nameserver 2a00:1098:2b::1 > /etc/resolv.conf && wget -N -6 "https://raw.githubusercontent.com/fscarmen/warp/main/old/warp4.sh" && chmod +x warp4.sh && ./warp4.sh
```
## 为 KVM IPv6 only 添加双栈网络接口方法
```bash
echo nameserver 2a00:1098:2b::1 > /etc/resolv.conf && wget -N -6 "https://raw.githubusercontent.com/fscarmen/warp/main/old/dualstack46.sh" && chmod +x dualstack46.sh && ./dualstack46.sh
```
## 为 LXC IPv6 only 添加 IPv4 网络接口方法
```bash
echo nameserver 2a00:1098:2b::1 > /etc/resolv.conf && wget -N -6 "https://raw.githubusercontent.com/fscarmen/warp/main/old/warp.sh" && chmod +x warp.sh && ./warp.sh
```
## 为 LXC IPv6 only 添加双栈网络接口方法
```bash
echo nameserver 2a00:1098:2b::1 > /etc/resolv.conf && wget -N -6 "https://raw.githubusercontent.com/fscarmen/warp/main/old/dualstack.sh" && chmod +x dualstack.sh && ./dualstack.sh
```
## 临时、永久关闭和开启WGCF网络接口
临时关闭 wgcf(reboot重启后恢复开启) ```wg-quick down wgcf``` ,恢复启动 ```wg-quick up wgcf```
禁止开机启动 ```systemctl disable wg-quick@wgcf```,恢复开机启动 ```systemctl enable wg-quick@wgcf```
## WARP原理
WARP是CloudFlare提供的一项基于WireGuard的网络流量安全及加速服务,能够让你通过连接到CloudFlare的边缘节点实现隐私保护及链路优化。
其连接入口为双栈(IPv4/IPv6均可),且连接后能够获取到由CF提供基于NAT的IPv4和IPv6地址,因此我们的单栈服务器可以尝试连接到WARP来获取额外的网络连通性支持。这样我们就可以让仅具有IPv6的服务器访问IPv4,也能让仅具有IPv4的服务器获得IPv6的访问能力。
* 为仅IPv6服务器添加IPv4
原理如图,IPv4的流量均被WARP网卡接管,实现了让IPv4的流量通过WARP访问外部网络。
![2021-02-04_21-45-45.png](https://i.loli.net/2021/03/20/XesDmluhRBkHSjd.png)
* 为仅IPv4服务器添加IPv6
原理如图,IPv6的流量均被WARP网卡接管,实现了让IPv6的流量通过WARP访问外部网络。
![2021-02-04_21-45-44.png](https://i.loli.net/2021/06/15/ARfOasgp286xjym.png)
* 双栈服务器置换网络
有时我们的服务器本身就是双栈的,但是由于种种原因我们可能并不想使用其中的某一种网络,这时也可以通过WARP接管其中的一部分网络连接隐藏自己的IP地址。至于这样做的目的,最大的意义是减少一些滥用严重机房出现验证码的概率;同时部分内容提供商将WARP的落地IP视为真实用户的原生IP对待,能够解除一些基于IP识别的封锁。
![2021-02-04_21-45-45-1.png](https://i.loli.net/2021/03/20/7vWf15szTONgq69.png)
* 网络性能方面:内核集成>内核模块>wireguard-go
Linux 5.6 以上内核则已经集成了 WireGuard ,可以用 ```hostnamectl```或```uname -r```查看版本。
甲骨文是 KVM 完整虚拟化的 VPS 主机,而官方系统由于版本较低,在不更换内核的前提下选择 "内核模块" 方案。
EUserv是 LXC 非完整虚拟化 VPS 主机,共享宿主机内核,不能更换内核,只能选择 "wireguard-go" 方案。
## 致谢下列作者和项目(排名不分先后):
技术指导:
* P3terxhttps://p3terx.com/archives/use-cloudflare-warp-to-add-extra-ipv4-or-ipv6-network-support-to-vps-servers-for-free.html
* Luminoushttps://luotianyi.vc/5252.html
* Hiramhttps://hiram.wang/cloudflare-wrap-vps
所需文件:
* WGCF 项目原作者:https://github.com/ViRb3/wgcf/releases
* WireGuard-GO 编译自官方:https://git.zx2c4.com/wireguard-go/
* 中科大 elrepo 源:https://www.dazhuanlan.com/2020/04/02/5e8524f06823d/