Назад | Перейти на главную страницу

Openvpn другая подсеть с динамическим ip с использованием client-config-dir (cdd)

Доброе утро,

Мне нужна помощь для конкретной конфигурации на сервере. Допустим, у меня есть два типа людей, которые будут подключаться к моему VPN. Pepole из группы 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, который действительно справляется с этим, но его нужно настроить, и я использовал client-config-dir следующим образом

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;

Скажи мне, что ты думаешь об этом

Невозможно создать разные подсети на стороне сервера в конфигурации client-config-dir.

Я бы реализовал это, запустив два экземпляра OpenVPN на разных портах и ​​с разной конфигурацией сети.