我根据自己的需求搭建了一个 openvpn 服务器:需要有 256 个子网,每个子网需要 256 个用户,因此我考虑创建一个 10.8.0.0/16 类型的服务器。该服务器运行在 ubuntu server 18.04 上,iptables 版本为 1.6.0。
以下是我的目标:
- 每个主机必须能够看到同一子网的主机(完成);
- 各个子网必须隔离(已完成);
- 子网 10.8.1.0 的主机必须能够访问任何其他子网的主机(缺失)
为了测试,我有两个子网:10.8.0.0 和 10.8.1.0,我已禁用 ufw,并尝试使用以下命令:
iptables -A FORWARD -i tun0 -s 10.8.1.0/16 -d 10.8.0.0/16 -j ACCEPT
但无论如何,我无法从 10.8.1.0 子网访问 10.8.0.0 子网。我认为子网、网络掩码或 iptables 命令存在问题,但我不明白是什么问题。有人能帮助我吗?
这是 server.conf:
port 1194
proto udp
dev tun
topology subnet
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/server.crt
key /etc/openvpn/easy-rsa/keys/server.key
dh /etc/openvpn/easy-rsa/keys/dh2048.pem
server 10.8.0.0 255.255.0.0
ifconfig-pool-persist ipp.txt
client-config-dir ccd
client-to-client
keepalive 10 600
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
每个用户在 ccd 文件夹中都会有一个文件,其中指定了掩码和 IP 地址,下面是客户端 1 的示例:
ifconfig-push 10.8.0.55 255.255.255.0
现在我创建了一个名为client2的新证书,它将包含以下信息:
ifconfig-push 10.8.1.4 255.255.255.0
客户端 1 连接并获取地址 10.8.0.55,客户端 2 连接并获取地址 10.8.1.4。我如何才能访问 10.8.0.0 子网?我希望我已经清楚地描述了问题
- 更新时间:2021 年 4 月 14 日 -