跳到主要内容

10 篇博文 含有标签「内网穿透」

查看所有标签

L2TP/IKEv2-IPsec (VPN)搭建

· 阅读需 1 分钟

L2TP-IPsec (VPN)搭建

系统版本:Centos 7.6 AlibabaCloud

下载 docker 及 镜像

# 添加 docker yum 源
curl -o /etc/yum.repos.d/docker-ce.repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 安装 docker
yum install -y docker-ce-cli-19.03.9-3.el7 docker-ce-19.03.9-3.el7

# 下载镜像
docker pull hwdsl2/ipsec-vpn-server
# 上面的镜像源在 docker hub,如果很慢可以从 Quay.io 下载:
docker pull quay.io/hwdsl2/ipsec-vpn-server
docker image tag quay.io/hwdsl2/ipsec-vpn-server hwdsl2/ipsec-vpn-server

配置环境变量

vim vpn.env

VPN_IPSEC_PSK=your_ipsec_pre_shared_key
VPN_USER=your_vpn_username
VPN_PASSWORD=your_vpn_password

# 添加用户
VPN_ADDL_USERS=additional_username_1 additional_username_2
VPN_ADDL_PASSWORDS=additional_password_1 additional_password_2

启动 IPsec VPN服务器

docker run \
--name ipsec-vpn-server \
--env-file ./vpn.env \
--restart=always \
-v ikev2-vpn-data:/etc/ipsec.d \
-v /lib/modules:/lib/modules:ro \
-p 500:500/udp \
-p 4500:4500/udp \
-d --privileged \
hwdsl2/ipsec-vpn-server

检查 VPN 登录详细信息

docker logs ipsec-vpn-server

# 可以看到如下登录内容
Connect to your new VPN with these details:

Server IP: your_vpn_server_ip
IPsec PSK: your_ipsec_pre_shared_key
Username: your_vpn_username
Password: your_vpn_password

Shadowsocket5 服务搭建

· 阅读需 2 分钟

Shadowsocket5 服务搭建

容器安装

# 开放 iptables 端口
iptables -P FORWARD ACCEPT

# 关闭 swap
swapoff -a
sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab

# 关闭 selinux
sed -ri 's#(SELINUX=).*#\1disabled#' /etc/selinux/config
setenforce 0

# 关闭防火墙
systemctl disable firewalld && systemctl stop firewalld

# 安装 docker 源
curl -o /etc/yum.repos.d/docker-ce.repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 下载docker并设置开机启动
yum install -y docker-ce-cli-19.03.9-3.el7 docker-ce-19.03.9-3.el7
systemctl enable docker && systemctl start docker

# 拉取镜像并启动容器
docker pull shadowsocks/shadowsocks-libev:latest

# -k 设置密码, -m 设置加密方式
docker run -d --restart=always -p 8388:8388 -p 8388:8388/udp shadowsocks/shadowsocks-libev ss-server -p 8388 -k Kk9nxyGweDXzOM1WhJ9MftjWbSg -m aes-256-gcm

pip 直接安装

# 安装 epel 源
yum update && yum -y install epel-release

# 安装python-pip
yum install python-pip

# 升级pip到最新版本
pip install --upgrade pip

# 安装shadowsocks
pip install shadowsocks

# 创建shadowsocks配置文件,内容如下
# - 配置文件路径:/etc/shadowsocks.json。

{
"server":"0.0.0.0",
"server_port":13579,
"local_address": "127.0.0.1",
"local_port":1080,
"password":"gogen123",
"timeout":300,
"method":"aes-256-cfb",
"fast_open": false
}

# 启动服务
ssserver -c /etc/shadowsocks.json -d start

CentOS7 安装 SS 客户端

· 阅读需 3 分钟

安装 ShadowSocks

cd /etc/yum.repos.d/
curl -O https://copr.fedorainfracloud.org/coprs/librehat/shadowsocks/repo/epel-7/librehat-shadowsocks-epel-7.repo
yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install -y shadowsocks-libev

验证安装

ss-local

# 如果报错:ss-local: error while loading shared libraries: libmbedcrypto.so.0: cannot open shared object file: No such file or directory
# 执行下面命令即可
cd /usr/lib64
ln -s libmbedcrypto.so.1 libmbedcrypto.so.0

添加配置文件

/etc/shadowsocks-libev/config.json

{
"server": "10.10.10.10",
"server_port": 9999,
"local_port": 1080,
"password": "ss-password",
"method": "aes-256-gcm",
"mode": "tcp_and_udp",
"timeout": 600
}

# 说明
"server": 必填,填入要连接的 shadowsocks 服务器域名或 IP。
"server_port": 必填,填入服务器上 shadowsocks 所监听的端口。
"local_port": 必填,填入本地 shadowsocks 客户端 SOCKS5 代理要监听的端口。
"password": 必填,密码,需与 shadowsocks 服务器端配置一致。
"method": 必填,加密方法,需与 shadowsocks 服务器端配置一致。
"mode": 选填,默认 "tcp_only"。可填 "tcp_only", "udp_only" 和 "tcp_and_udp"。
"timeout": 选填,不活动连接的保持时间。默认 60 秒,设置较长时间有助于保持 HTTP 长连接等。设置时间过长则会导致不必要地占用过多 shadowsocks 服务器资源。

# 如果想要变更默认的配置文件,或者提供其他命令行参数,可以修改:
vim /etc/sysconfig/shadowsocks-libev:

# Configuration file
CONFFILE="/etc/shadowsocks-libev/config.json"

# Extra command line arguments
DAEMON_ARGS="-u"

# 其中 CONFFILE 指定了 shadowsocks-libev 所读取的配置文件;DAEMON_ARGS 则指定了额外的命令行参数,此处的 "-u" 表示启用 UDP 协议。
# 需要注意的是,命令行参数 DAEMON_ARGS 比配置文件 CONFFILE 中指定的选项优先级要更高一些。

启动服务

# 启动
systemctl start shadowsocks-libev-local

# 同时也会配置 Shadowsocks 客户端服务的开机自动启动
systemctl enable --now shadowsocks-libev-local

# 检查服务
systemctl status shadowsocks-libev-local

# 查看日志
journalctl -u shadowsocks-libev-local

# 测试
curl --socks5 127.0.0.1:1080 http://httpbin.org/ip
# 返回你的 ss 服务器 ip 则测试成功
{
"origin": "10.10.10.10" # shadowsocks服务器IP
}

配置代理

# 安装 privoxy
yum install privoxy

# 修改 privoxy 配置文件 /etc/privoxy/config
listen-address 127.0.0.1:8118
forward-socks5t / 127.0.0.1:1080 .

# 启动 privoxy 服务
systemctl enable privoxy
systemctl start privoxy
systemctl status privoxy

# 设置代理环境变量
echo -e "export http_proxy=http://127.0.0.1:8118" >> /etc/profile
echo -e "export https_proxy=http://127.0.0.1:8118" >> /etc/profile
source /etc/profile

# 测试
curl www.google.com

# 去除代理,把 /etc/profile 里的配置注释即可。

配置 yum 代理

# 打开yum.conf配置文件
vim /etc/yum.conf

# 然后在里面加入一行
proxy=https://127.0.0.1:8118

# 保存并退出

配置 wget 代理

# 打开wget配置文件
vim /etc/wgetrc

# 在里面找对应的参数位置,如果都被注释掉了,则添加配置
use_proxy = on
https_proxy=https://127.0.0.1:8118
http_proxy=http://127.0.0.1:8118
ftp_proxy=http://127.0.0.1:8118

# 保存并退出