lxd容器实现旁路由

相关链接:

简介

本文介绍了在不补齐内核 文件的情况下,用 QNAP 的 Container Station 工具,新建LXD容器做Ubuntu+V2rayA实现透明网关的过程。

前情

做旁路由是很多有上网专长的朋友经常需要的场景,网上也有很多关于用虚拟机来实现透明网关做旁路由的教程。但虚拟机成本高,如果能容器化实现当然就更高效更便宜。

过程

lxd创建ubuntu16容器

在ContainerStation创建一个ubuntu容器,我这里选用的是ubuntu:xenial,参考以下设置

登录ubuntu16

lxc list
lxc exec ubuntu16 bash

安装相关软件包及依赖

apt update
apt install iptables
apt install curl

安装 V2Ray 内核

curl -Ls https://mirrors.v2raya.org/go.sh | sudo bash
systemctl disable v2ray --now

安装 v2rayA

方法一:手动安装deb包

apt install /share/installer_debian_amd64_1.5.7.deb

方法二:通过软件源安装

// 添加公钥
wget -qO - https://apt.v2raya.mzz.pub/key/public-key.asc | sudo tee /etc/apt/trusted.gpg.d/v2raya.asc
// 添加 V2RayA 软件源
echo "deb https://apt.v2raya.mzz.pub/ v2raya main" | sudo tee /etc/apt/sources.list.d/v2raya.list
sudo apt update

apt install v2raya

启动 v2rayA / 设置 v2rayA 自动启动

从 1.5 版开始将不再默认为用户启动 v2rayA 及设置开机自动。

systemctl start v2raya.service
systemctl enable v2raya.service

修改v2rayA启动参数

更改v2rayA启动参数,禁用IPv6

输入以下命令编辑v2rayA的启动程序 :vi /etc/systemd/system/v2raya.service

如图所示在 ExecStart=/usr/bin/v2raya –log-disable-timestamp 后加 --ipv6-support off

保存后输入以下命令重载 systemctl:systemctl daemon-reload

然后 ,重启容器。不可忽略

设置v2rayA后启动

用网页打开容器IP:2017,如 http://192.168.50.175:2017,进入v2rayA管理页面

新建一个管理员 admin 123456

导入节点

设置透明代理

最后,启动服务

在未启动服务时,连接的节点呈现柚红色。我们在左上角点击相应按钮启动服务。

在启动服务后,所连接的节点呈现蓝色,左上角的图标也显示为蓝色的正在运行,代表服务启动成功。如下图所示

使用

要使用旁路由的客户端即可按平常设置,将网关设置为容器IP,因本文没有做DNS方面介绍,最好将DNS设置为223.5.5.5这样的未污染IP。

总结

本文为简化过程,只讲述了基础流程。其他方面如何深化小伙伴可自行折腾。

另外这个透明代理不适用于tproxy模式,也不能用于UDP代理。估计与威联通的内核缺失有关。

本文的v2rayA应该也可以换成openClash这类工具。

上网专家core如何更换请参考v2rayA官网