Openvpn 使用客户端配置目录(cdd)的动态 ip 不同的子网

Openvpn 使用客户端配置目录(cdd)的动态 ip 不同的子网

早上好,

我需要一些有关服务器特定配置的帮助。假设有两类人将连接到我的 VPN。A 组的人和 B 组的人。我需要他们拥有不同的子网。这两组之间的唯一区别是证书的通用名称。

假设我有两个子网 sub1:10.0.1.0/24 sub2:10.0.2.0/24

A 组中的人员拥有类似 A0000xxx 的证书 B 组中的人员拥有类似 B0000xxx 的证书

我希望 A 组中的人连接到 sub1,B 组中的人连接到 sub2

我考虑过使用 client-config-dir 指令。在客户端连接时,我将使用脚本来确定它们来自 A 组还是 B 组,然后我将创建良好的配置。我的问题是我不知道如何给他们正确的地址。我不想给他们一个固定的 IP,而是希望他们使用动态 IP。

是否可以告诉他们在子网中寻找地址?

谢谢

[编辑]

所以我设法做到了,但我想对此发表一些意见

因此我创建了一个 connect.sh 脚本,该脚本实际上可以做到这一点,但需要进行配置,并且我使用了像这样的客户端配置目录

if [ ! -f configDir/${common_name} ]; then
        if ! grep -q "${common_name}" ipp.txt; then
                regexCA="^CA.*";
                regexFRFDV="^FRFDV.*";
                regexFRPC="^FRPC.*";
                outSet=255
                if [[ ${common_name} =~ $regexCA  ]]; then
                        i=2;
                        while  grep -q "10.0.0.$i" ipp.txt  ;
                        do
                                if [ $i == $outSet ] ; then
                                        break ;
                                fi
                                ((i=$i+1));
                        done
                        if [ $i == $outSet ] ; then
                                exit 1;
                        fi
                        echo "10.0.0.$i, ${common_name}" >> ipp.txt;
                        echo "ifconfig-push 10.0.0.$i 255.255.255.0" > configDir/${common_name};
                        echo "ifconfig-push 10.0.0.$i 255.255.255.0" > $1
                else
                        i=2;
                        while  grep -q "10.0.1.$i" ipp.txt ;
                        do
                                if [ $i == $outSet ]
                                then
                                        break;
                                fi
                                ((i=$i+1));
                        done
                        if [ $i == $outSet ] ; then
                                exit 1;
                        fi
                        echo "10.0.1.$i, ${common_name}" >> ipp.txt;
                        echo "ifconfig-push 10.0.1.$i 255.255.255.0" > configDir/${common_name};
                        echo "ifconfig-push 10.0.1.$i 255.255.255.0" > $1
                fi
        fi
fi
exit 0;

告诉我你对此的看法

答案1

无法在 client-config-dir 配置中创建不同的服务器端子网。

我将通过在不同端口和不同的网络配置上运行两个 OpenVPN 实例来实现这一点。

相关内容