После настройки openvpn и obfsproxy в предыдущей части, необходимо допилить всё до красивого состояния. А именно: автоматизировать запуск obfsproxy, openvpn и восстановление настроек iptables после поднятия соединения.
Итак, для автоматического запуска клиента openvpn и подключения к серверу нам необходимо:
- Скопировать конфигурационный файл openvpn в директорию /etc/openvpn и переименовать его в client.conf
- Раскомментировать строку AUTOSTART=»all» в файле /etc/default/openvpn
- Разрешить автозапуск сервиса:
sudo systemctl enable openvpn@client.service
После этих действий openvpn будет автоматически стартовать и пытаться установить подключение. Но для подключения ему необходим obfsproxy (весь трафик идет через него).
Настроим автозапуск obfsproxy:
1. Создадим конфигурационный файл для сервиса:
sudo nano /etc/systemd/system/obfsproxy.service
2. Поместим в него следующие строки:
[Unit] Description=Obfsproxy Server [Service] ExecStart=/usr/bin/obfsproxy --log-min-severity=info obfs2 --shared-secret=<some-random-key> socks 127.0.0.1:10194 [Install] WantedBy=multi-user.target
3. Выполним перезагрузку юнитов с диска:
sudo systemctl daemon-reload
4. Разрешим автозапуск сервиса и запустим его:
sudo systemctl start obfsproxy.service
sudo systemctl enable obfsproxy.service
Obfsproxy запущен, openvpn подключился. Осталось активировать NAT через iptables:
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
И, желательно, делать это автоматически. Для этого:
1. В конфигурационный файл openvpn добавляем:
script-security 2 up /etc/openvpn/up.sh
2. Создаем скрипт /etc/openvpn/up.sh с содержимым:
#!/bin/sh /sbin/iptables-restore < /etc/iptables.rules
3. Сохраняем текущие настройки iptables при помощи:
iptables-save > /etc/iptables.rules
4. Не забываем сделать скрипт исполняемым.
После всех этих действий после рестарта у вас должен автоматически подняться обфусцированный openvpn-туннель и через него можно будет отправлять любых клиентов, которым необходим доступ к тем ресурсам, которые недоступны без него.