OpenVPN,但一个用户通过VPN

OpenVPN,但一个用户通过VPN

我在这里公开我的项目。我有一台运行 ubuntu 的服务器。

服务器设置了多个 VPN 连接(tun0、tun1、tun2 等)我使用它来启动我的 VPN:sudo systemctl start openvpn-client@The_VPN_I_Want.service 我想要保留一个用户(1000)和 eth0 上的 RDP 访问权限。

并通过 tunX 接口路由用户。例如,tun0 上的用户 1002,tun1 上的用户 1003。

我已从 0 重新启动我的规则。

因此,如果我想阻止用户 1002 从 eth0 发出的流量(出去),我会这样做:

sudo iptables -I OUTPUT -o eth0 -m owner --uid-owner 1002 -j REJECT

如果我想允许来自 tun0 的流量(出去),我会这样做:

sudo iptables -I OUTPUT -o tun0 -m owner --uid-owner 1002 -j ACCEPT

我说得对吗?我不应该从 eth0 访问用户 1002 吗?

当我从用户 1002 会话执行wget https://wtfismyip.com/text 我的公共 IP 时,返回的不是 VPN IP。

我现在有点困惑 :3

[编辑] 我很笨,我的接口是 ens33 而不是 eth0,所以我修复了这个问题,现在我使用这个规则:

# Mark traffic user
iptables -t mangle -A OUTPUT -o eth0 -m owner --uid-owner 1002 -j MARK --set-mark 10
# Source 2 VPN address
iptables -t nat -A POSTROUTING -o tun0 -m mark --mark 10 -j MASQUERADE
# Forward 2 tun0
iptables -P FORWARD ACCEPT
iptables -A FORWARD -o tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -j ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT

因此,我认为我的用户 1002 由于默认路由而不通过 tun0:

default via 192.168.0.254 dev eth0 proto dhcp metric 100
169.254.0.0/16 dev eth0 scope link metric 1000
172.18.11.1 via 172.18.11.37 dev tun0
172.18.11.37 dev tun0 proto kernel scope link src 172.18.11.38
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.117 metric 100

答案1

因此,我一直在不停地努力,虽然没有成功,但我发现了一些东西。

在此主题中https://unix.stackexchange.com/questions/516311/how-to-restrict-openvpn-clients-connection-to-single-system-user?newreg=285e883cf62241ce992943e789738313

他与我使用相同的 VPN 服务(NordVPN),我认为 nord VPN 客户端配置阻止了某些东西。

当我运行 myvpn.sh 时,连接成功并且接口 tunX 已启动。

但我不知道如何将用户的流量传递到 VPN/虚拟接口。这是 Nord VPN conf

client
dev tun2
proto udp
remote 31.171.152.11 1194
resolv-retry infinite
remote-random
nobind
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
persist-key
persist-tun
ping 15
ping-restart 0
ping-timer-rem
reneg-sec 0
#Ping OK no IP change without
#redirect-gateway
comp-lzo no
#pull-filter ignore redirect-gateway
remote-cert-tls server
route-nopull
auth-user-pass /etc/openvpn/client/nvpn.txt
verb 3
pull
fast-io
cipher AES-256-CBC

相关内容