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