准备ubuntu 服务器,支持ipv6

服务器信息查询

ip a

查询ipv6 地址例如:2a01:4ff:f0:c03a::1/64

查询网卡名称:eth0

生成多条ipv6工具

https://www.bulianglin.com/archives/ipv6.html

  • 生成ipv6
  • 生成shell命令

到服务器中执行

ipv6保存成永久文件

查看文件名

ls /etc/netplan/

打开编辑(将文件名替换成真实的文件名字.yaml)

cd /etc/netplan/01-netcfg.yaml

修改文件格式

/ipv6/

修改文件后执行

sudo netplan try

回车

sudo netplan apply

查看ip状态

ip addr show eth0

搭建Vmess梯子

1. 远程下载Vmess方案

更新系统包索引

sudo apt update && sudo apt upgrade -y

安装必要的工具

sudo apt install wget curl -y

下载脚本

curl -O https://raw.githubusercontent.com/bulianglin/demo/main/xrayL.sh

2. 本地创建Vmess脚本

nano xrayL.sh

Vmess脚本

DEFAULT_START_PORT=20000 #默认起始端口
DEFAULT_SOCKS_USERNAME="userb" #默认socks账号
DEFAULT_SOCKS_PASSWORD="passwordb" #默认socks密码
DEFAULT_WS_PATH="/ws" #默认ws路径
DEFAULT_UUID=$(cat /proc/sys/kernel/random/uuid) #默认随机UUID
IP_ADDRESSES=($(hostname -I))
install_xray() {
echo "安装 Xray..."
apt-get install unzip -y || yum install unzip -y
wget https://github.com/XTLS/Xray-core/releases/download/v1.8.3/Xray-linux-64.zip
unzip Xray-linux-64.zip
mv xray /usr/local/bin/xrayL
chmod +x /usr/local/bin/xrayL
cat </etc/systemd/system/xrayL.service
[Unit]
Description=XrayL Service
After=network.target
[Service]
ExecStart=/usr/local/bin/xrayL -c /etc/xrayL/config.toml
Restart=on-failure
User=nobody
RestartSec=3
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable xrayL.service
systemctl start xrayL.service
echo "Xray 安装完成."
}
config_xray() {
config_type=$1
mkdir -p /etc/xrayL
if [ "$config_type" != "socks" ] && [ "$config_type" != "vmess" ]; then
echo "类型错误!仅支持socks和vmess."
exit 1
fi
read -p "起始端口 (默认 $DEFAULT_START_PORT): " START_PORT
START_PORT=${START_PORT:-$DEFAULT_START_PORT}
if [ "$config_type" == "socks" ]; then
read -p "SOCKS 账号 (默认 $DEFAULT_SOCKS_USERNAME): " SOCKS_USERNAME
SOCKS_USERNAME=${SOCKS_USERNAME:-$DEFAULT_SOCKS_USERNAME}
read -p "SOCKS 密码 (默认 $DEFAULT_SOCKS_PASSWORD): " SOCKS_PASSWORD
SOCKS_PASSWORD=${SOCKS_PASSWORD:-$DEFAULT_SOCKS_PASSWORD}
elif [ "$config_type" == "vmess" ]; then
read -p "UUID (默认随机): " UUID
UUID=${UUID:-$DEFAULT_UUID}
read -p "WebSocket 路径 (默认 $DEFAULT_WS_PATH): " WS_PATH
WS_PATH=${WS_PATH:-$DEFAULT_WS_PATH}
fi
for ((i = 0; i < ${#IP_ADDRESSES[@]}; i++)); do config_content+="[[inbounds]]\n" config_content+="port = $((START_PORT + i))\n" config_content+="protocol = \"$config_type\"\n" config_content+="tag = \"tag_$((i + 1))\"\n" config_content+="[inbounds.settings]\n" if [ "$config_type" == "socks" ]; then config_content+="auth = \"password\"\n" config_content+="udp = true\n" config_content+="ip = \"${IP_ADDRESSES[i]}\"\n" config_content+="[[inbounds.settings.accounts]]\n" config_content+="user = \"$SOCKS_USERNAME\"\n" config_content+="pass = \"$SOCKS_PASSWORD\"\n" elif [ "$config_type" == "vmess" ]; then config_content+="[[inbounds.settings.clients]]\n" config_content+="id = \"$UUID\"\n" config_content+="[inbounds.streamSettings]\n" config_content+="network = \"ws\"\n" config_content+="[inbounds.streamSettings.wsSettings]\n" config_content+="path = \"$WS_PATH\"\n\n" fi config_content+="[[outbounds]]\n" config_content+="sendThrough = \"${IP_ADDRESSES[i]}\"\n" config_content+="protocol = \"freedom\"\n" config_content+="tag = \"tag_$((i + 1))\"\n\n" config_content+="[[routing.rules]]\n" config_content+="type = \"field\"\n" config_content+="inboundTag = \"tag_$((i + 1))\"\n" config_content+="outboundTag = \"tag_$((i + 1))\"\n\n\n" done echo -e "$config_content" >/etc/xrayL/config.toml
systemctl restart xrayL.service
systemctl --no-pager status xrayL.service
echo ""
echo "生成 $config_type 配置完成"
echo "起始端口:$START_PORT"
echo "结束端口:$(($START_PORT + $i - 1))"
if [ "$config_type" == "socks" ]; then
echo "socks账号:$SOCKS_USERNAME"
echo "socks密码:$SOCKS_PASSWORD"
elif [ "$config_type" == "vmess" ]; then
echo "UUID:$UUID"
echo "ws路径:$WS_PATH"
fi
echo ""
}
main() {
[ -x "$(command -v xrayL)" ] || install_xray
if [ $# -eq 1 ]; then
config_type="$1"
else
read -p "选择生成的节点类型 (socks/vmess): " config_type
fi
if [ "$config_type" == "vmess" ]; then
config_xray "vmess"
elif [ "$config_type" == "socks" ]; then
config_xray "socks"
else
echo "未正确选择类型,使用默认sokcs配置."
config_xray "socks"
fi
}
main "$@"

赋予脚本执行权限

chmod +x xrayL.sh

运行脚本

bash xrayL.sh

示例:

选择生成的节点类型 (socks/vmess): vmess
起始端口 (默认 20000): 42000
UUID (默认随机):
WebSocket 路径 (默认 /ws): /wss

复制链接地址:选中链接Ctrl+c

开启BBR

创建文件

nano enable_bbr.sh

粘贴脚本

#!/bin/bash

# 检查是否以 root 权限运行
if [ "$EUID" -ne 0 ]; then
echo "请以 root 权限运行此脚本:sudo $0"
exit 1
fi

# 颜色输出函数
green() { echo -e "\033[32m$1\033[0m"; }
red() { echo -e "\033[31m$1\033[0m"; }
yellow() { echo -e "\033[33m$1\033[0m"; }

# 检查内核版本
KERNEL_VERSION=$(uname -r | cut -d'.' -f1-2)
MIN_KERNEL="4.9"
if [ "$(printf '%s\n' "$MIN_KERNEL" "$KERNEL_VERSION" | sort -V | head -n1)" != "$MIN_KERNEL" ]; then
red "当前内核版本 ($KERNEL_VERSION) 低于 4.9,无法启用 BBR"
yellow "请升级内核后重试,建议使用 'sudo apt install linux-generic-hwe-22.04' 或手动安装新内核"
exit 1
else
green "内核版本 ($KERNEL_VERSION) 符合要求,继续配置 BBR"
fi

# 检查是否已启用 BBR
CURRENT_CONGESTION=$(sysctl -n net.ipv4.tcp_congestion_control)
if [ "$CURRENT_CONGESTION" == "bbr" ]; then
green "BBR 已启用,无需重复配置"
exit 0
fi

# 修改 sysctl 配置
SYSCTL_FILE="/etc/sysctl.conf"
BBR_CONFIG="net.core.default_qdisc=fq\nnet.ipv4.tcp_congestion_control=bbr"

# 备份原配置文件
if [ ! -f "$SYSCTL_FILE.bak" ]; then
cp "$SYSCTL_FILE" "$SYSCTL_FILE.bak"
green "已备份原配置文件到 $SYSCTL_FILE.bak"
fi

# 添加 BBR 配置
grep -q "net.ipv4.tcp_congestion_control" "$SYSCTL_FILE"
if [ $? -eq 0 ]; then
sed -i '/net.core.default_qdisc/d' "$SYSCTL_FILE"
sed -i '/net.ipv4.tcp_congestion_control/d' "$SYSCTL_FILE"
echo -e "$BBR_CONFIG" >> "$SYSCTL_FILE"
else
echo -e "$BBR_CONFIG" >> "$SYSCTL_FILE"
fi

# 应用配置
sysctl -p > /dev/null
green "BBR 配置已写入并应用"

# 验证 BBR 是否启用
NEW_CONGESTION=$(sysctl -n net.ipv4.tcp_congestion_control)
if [ "$NEW_CONGESTION" == "bbr" ]; then
green "BBR 已成功启用!"
echo "当前 TCP 拥塞控制算法:$NEW_CONGESTION"
echo "可用算法:$(sysctl -n net.ipv4.tcp_available_congestion_control)"
else
red "BBR 启用失败,请检查系统配置"
yellow "当前算法:$NEW_CONGESTION"
exit 1
fi

# 提示重启(可选)
yellow "配置已生效,通常无需重启。如需确保完全应用,可运行 'sudo reboot'"

BBR脚本文件授权

chmod +x enable_bbr.sh

BBR脚本运行

sudo ./enable_bbr.sh

批量生成ipv6多端口文件

https://www.bulianglin.com/archives/ipv6.html#startnum

  • 起始端口:42000
  • 结束端口:(根据数量需要,不要超过42100)

到此:软路由可以直接导入监听端口即可,V2ray继续下面的步骤

批量订阅转换成Clash文件

源地址:https://github.com/tindy2013/subconverter/releases
window 64位直接下载链接:https://github.com/tindy2013/subconverter/releases/download/v0.9.0/subconverter_win64.7z

程序本地地址:

E:\A2023 所有网站文件\subconverter_win64\subconverter\subconverter.exe

双击可运行文件不要关闭

将批量生成的ipv6文件粘贴到

https://bulianglin.com/archives/51.html#pagewrap

将生成的文件全选复制

批量生成适合监听的v2ray+clash meta分流的socks5代理文件

https://www.bulianglin.com/archives/tosocks.html#inputYAML

下载保存

配置V2rayN

需要支持:clash meta 或者 mihomo

V2ray下载链接: https://github.com/2dust/v2rayN/releases/download/7.10.4/v2rayN-windows-64-desktop.zip

服务器 – 添加自定义配置服务器

别名:随意

地址:保存的文件

core类型:clash meta 或者 mihomo

socks端口:随意填写 类如123456(一定要填写)

配置指纹浏览器

查看节点配置信息

cat /etc/xrayL/config.toml

属于中国企业,但是如果写的是非中国地区其他国家的主题,例如美国,英国,越南,等等,你需要在开篇底部用第一人称的角度单独解释一下,为什么可以虽然写的是这个地区的企业,但是的是属于为全球服务的新生代优质企业,对于复杂工艺处理更加推荐这个公司,所以也被排进这个榜单。