====== OpenVPN шлюз ======
  - Устанавливаем все компоненты <code bash>apt install openvpn openssl easy-rsa bash-completion -y</code>
  - Настраиваем iptables <code bash>nano /etc/iptables.save</code> вставляем <code bash>"
# Generated by iptables-save v1.6.0 on Sun Apr 12 18:21:11 2020
*filter
:INPUT ACCEPT [35:2807]
:FORWARD ACCEPT [2:152]
:OUTPUT ACCEPT [28:3248]

COMMIT
# Completed on Sun Apr 12 18:21:11 2020
# Generated by iptables-save v1.6.0 on Sun Apr 12 18:21:11 2020
*nat
:PREROUTING ACCEPT [61:3656]
:INPUT ACCEPT [43:2288]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [4:192]

# Masquerade from tun0
-A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

COMMIT
# Completed on Sun Apr 12 18:21:11 2020
"</code> и сохраняем <code bash>CRTL-O - CTRL-X</code>
  - Настроем автоматическую загрузку правил при старте системы <code bash>nano /etc/network/interfaces</code> вставляем после dns следующую строку <code bash>pre-up iptables-restore < /etc/iptables.save</code> и сохраняем <code bash>Ctrl-o Enter Ctrl -x</code>
  - Разрешаем форвардинг на уровне ядра ОС <code bash>echo 1 >> /proc/sys/net/ipv4/conf/all/forwarding</code> редактируем <code bash>nano /etc/sysctl.conf</code> ищем строку - <code bash>#net.ipv4.ip_forward=1</code> и снимаем комментарий и сохраняем <code bash>CTRL-O Enter CTRL -X</code>
  - Настроим OpenVPN, переходим в <code bash>cd /etc/openvpn/</code>
  - Создаем файл <code bash>nano /etc/openvpn/server.conf</code> вставляем <code bash>port 2020
proto tcp
dev tun
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/vpn_server.crt
key /etc/openvpn/easy-rsa/keys/vpn_server.key  # This file should be kept secret
dh /etc/openvpn/easy-rsa/keys/dh2048.pem
server 10.8.0.0 255.255.255.248 # задаём подсетку тунеля
ifconfig-pool-persist ipp.txt
keepalive 10 120
comp-lzo
persist-key
persist-tun
verb 3
push "redirect-gateway def1"
push "dhcp-option DNS 8.8.8.8"
log /var/log/openvpn.log</code>
  - Создаем директорию <code bash>mkdir /etc/openvpn/easy-rsa</code> заходим в директорию <code bash>cd /etc/openvpn/easy-rsa</code> и копируем рекурсивно содержимое <code bash>cp -r /usr/share/easy-rsa/* /etc/openvpn/easy-rsa/</code>
  - Создаём папку <code bash>mkdir keys</code>
  - Инициализируем переменные <code bash>source ./vars</code> может заартачится и вводим следующую строку потом опять эту <code bash>ln -s openssl-1.0.0.cnf openssl.cnf</code>
  - Если нормально надо заполнить сертификаты - либо просто пропускаем <code bash>nano vars</code>
  - <code bash>./clean-all
./build-ca  # дадададада
./build-key-server vpn_server #  на вопрос о подписании дада
./build-dh ждём создания ДХ
./build-key usergw2 № usergw2 произвольное имя пользователя</code>
  - <code bash>openvpn --genkey --secret /etc/openvpn/ta.key # в /etc/openvpn/</code>
  - <code bash>nano ipp.txt</code> <code bash>Etrl-o Eter Cntrl-x</code>
  - Активировать службу на автозапуск <code bash>systemctl enable openvpn</code>
  - <code bash>reboot</code>
  - Смотрим запущен ли OpenVPN <code bash>netstal -nlp</code>
