Для настройки доступа к заблокированным доменам Роскомнадзора через VPN в Linux можно использовать следующую инструкцию:
1. Установите программу OpenVPN на сервере и клиентах. На Debian 12 это можно сделать с помощью команды:
```
sudo apt install openvpn
```
2. Создайте конфигурационный файл VPN-сервера (server.conf) на сервере. Пример конфигурационного файла может выглядеть следующим образом:
```
local SERVER_IP_ADDRESS
port 1194
proto udp
dev tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh.pem
server 10.8.0.0 255.255.255.0
cipher AES-256-CBC
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
comp-lzo
persist-key
persist-tun
status /var/log/openvpn/status.log
log /var/log/openvpn/openvpn.log
verb 3
```
В данном примере сервер будет слушать на адресе SERVER_IP_ADDRESS, порту 1194 по протоколу UDP. Используются сертификаты и ключи, которые необходимо создать.
3. Создайте директорию /etc/openvpn на сервере и клиентах и скопируйте туда файлы ca.crt, server.crt, server.key и dh.pem.
4. Создайте директорию /var/log/openvpn на сервере и клиентах и установите права доступа на запись для нее:
```
sudo mkdir /var/log/openvpn
sudo chown nobody:nogroup /var/log/openvpn
```
5. Запустите VPN-сервер на сервере:
```
sudo openvpn --config /etc/openvpn/server.conf
```
6. Создайте конфигурационный файл VPN-клиента (client.conf) на клиентах. Пример конфигурационного файла может выглядеть следующим образом:
```
client
dev tun
proto udp
remote SERVER_IP_ADDRESS 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/client.crt
key /etc/openvpn/client.key
cipher AES-256-CBC
comp-lzo
verb 3
```
В данном примере клиент подключается к серверу по адресу SERVER_IP_ADDRESS на порту 1194 по протоколу UDP. Используются сертификаты и ключи, которые необходимо создать.
7. Запустите VPN-клиент на клиентах:
```
sudo openvpn --config /etc/openvpn/client.conf
```
8. Настройте маршрутизацию на сервере, чтобы клиенты могли получать доступ к определенным заблокированным сайтам через VPN-соединение. Например, чтобы перенаправить трафик к доменам *.blocked.ru через VPN-соединение и остальной трафик - через прямое подключение провайдера, можно использовать следующие команды:
```
sudo iptables -A FORWARD -p tcp -m string --string ".blocked.ru" --algo bm -j ACCEPT
sudo iptables -A FORWARD -i tun0 -j ACCEPT
sudo iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o tun0 -j REJECT
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
```
Где eth0 - интерфейс сетевого подключения провайдера, tun0 - интерфейс VPN.
9. Настройте маршрутизацию на клиентах для того, чтобы весь трафик сети был направ