Простой VPN без VPN

7 февраля 2019

  • На Линукс-сервере, который мы хотим использовать как шлюз в удалённую сеть, нужны только ssh-демон и утилита pppd.
  • Также на нём требуется одно из двух: либо возможность подключаться по ssh с логином root, либо возможность запускать pppd через sudo без пароля.

Настройка удалённого сервера:

  • Устанавливаем pppd:
  • yum install ppp
  • если на сервере используется файрволл, разрешаем прохождение пакетов с адресами из локальной сети:
  • iptables -I FORWARD -s 10.100.200.0/24 -d 10.100.200.0/24 -j ACCEPT
  • если на сервере не включена маршрутизация, включаем её:
  • sysctl net.ipv4.ip_forward=1
  • настраиваем одно из двух:
    • подключение с логином root и авторизацией по ключу
    • или запуск sudo /usr/sbin/pppd без ввода пароля через /etc/sudoers.d/

Настройка подключения:

  • Создаём файл /etc/ppp/peers/Remote1
  • updetach
    nodefaultroute
    noauth
    passive
    pty "ssh root@1.2.3.4 -o Batchmode=yes /usr/sbin/pppd nodetach notty noauth proxyarp"
    10.100.200.251:10.100.200.252
    
  • использованные выше IP-адреса 10.100.200.x должны принадлежать диапазону удалённой локальной сети, и быть незанятыми!
  • 1.2.3.4 = публичный адрес удалённого сервера.

Подключение:

  • Подключаемся по SSH и через SSH-соединение подключаемся по PPP:
  • pppd call Remote1
  • Настраиваем маршрут в удалённую сеть через PPP:
  • sudo ip route add 10.100.200.0/24 via 10.100.200.252


← Назад в Блог