Напишите, например:
server 10.8.0.0 255.255.255.0
Здесь вы определяете подсеть для своей сети OpenVPN. Где-то не найдешь, выбираешь. Вышеупомянутое будет обслуживать подсеть / 24
, IP-адрес сервера vpn будет 10.8.0.1
, первого клиента 10.8.0.2
. Дополнительную информацию можно найти на странице руководства . Эта директива будет расширяться, как показано на странице руководства:
- маска сети сервера ['nopool']
Вспомогательная директива, разработанная для упрощения настройки режима сервера OpenVPN. Эта директива настроит сервер OpenVPN, который будет выделять адреса клиентам вне данной сети / сетевой маски. Сам сервер примет адрес ".1" данной сети для использования в качестве конечной точки на стороне сервера для локального интерфейса TUN / TAP. Например,- сервер 10.8.0.0 255.255.255.0
расширяется следующим образом:режим сервера tls-server push "топология [топология ] " if dev tun AND (топология == net30 OR топология == p2p): ifconfig 10.8.0.1 10.8.0.2 if! Nopool: { {1}} ifconfig-pool 10.8.0.4 10.8.0.251 route 10.8.0.0 255.255.255.0 if client-to-client: push "route 10.8.0.0 255.255. 255.0 " else if topology == net30: push" route 10.8.0.1 " , если разработчик коснется OR (dev tun AND топология == подсеть): ifconfig 10.8.0.1 255.255.255.0 if! Nopool: ifconfig-pool 10.8.0.2 10.8.0.254 255.255.255.0 push "route-gateway 10.8.0.1" , если route-gateway не задан: route-gateway 10.8.0.2
Чтобы передать конфигурацию DNS-сервера своим клиентам, напишите, например:
push "dhcp-option DNS 10.8.0.1"
Или, например, если вы решите, что хотите, чтобы ваши клиенты использовали DNS-серверы Google:
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
Базовый пример файла server.conf
без какой-либо специальной конфигурации будет выглядеть так (я удалил все необязательные директивы, которые не должны требоваться при очень простой настройке):
port 1194
proto udp
dev tun
ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/easy-rsa/2.0/keys/server.crt
key /etc/openvpn/easy-rsa/2.0/keys/server.key
dh /etc/openvpn/easy-rsa/2.0/keys/dh2048.pem
server 10.8.0.0 255.255.255.0
keepalive 10 60
comp-lzo
persist-key
persist-tun
status server-status.log
verb 3
попробуй
awk '{ printf "%05d%s\n",NR,substr($1,6)}' input_file > output_file
где
printf "%05d".. NR
выведет номер строки(NR
(Номер записи )), дополненный 0 substr($1,6)
извлечет подстроку первого аргумента$1
(), начиная с 6 Другой awk
подход.
awk -F'[0-9]+' '{printf("%05d%s\n",NR,$2)}' infile >newfile
Использование sed
для удаления существующих цифр в начале каждой строки и nl
для нумерации строк особым образом:
$ sed 's/^[0-9]*//' file | nl -n rz -s '' -w 5
00001abc
00002def
00003ghi
00004jkl
00005mno
00006pqr
00007stu
00008vwx
00009yza
00010bcd
Опция nl
запрашивает нулевые -заполненные числа (-n rz
, что также правильно -выравнивает числа, но здесь это неважно )без разделителя между номерами строк и данными (-s ''
). Числа состоят из пяти цифр(-w 5
).
С ш
while read a;do i=$((i+1));printf "%05d%s\n" $i "${a##*[0-9]}";done < infile > outfile
замена на месте
printf '%s\n' $(while read a;do i=$((i+1));printf "%05d%s\n" $i "${a##*[0-9]}";done < infile) > infile