Пробрасываем внешний IP адрес к себе домой
src: https://youtu.be/4isitiMSI_w
На интерфейсе vdsки 2 адреса.
На вдску ставим routeros, настраиваем там основной адрес. Генерим всякие серты для SSTP.
Вся суть:
Настраиваем на сервере PPP, указываем "TCP MSS"=yes, upnp=no, mpls=no, compression=yes, encryption=yes. На интерфейсе eth1 включаем proxy_arp.
L2TP
Как сделать это на чистом линухе? С помощью L2TP например.
root@host:~# apt install -y xl2tp
root@host:~# cat /etc/ppp/chap-secrets
# Secrets for authentication using CHAP
# client server secret IP addresses
"user1" l2tpd "parol" *
root@host:~# cat /etc/ppp/options.xl2tpd
+mschap-v2
ipcp-accept-local
ipcp-accept-remote
noccp
auth
mtu 1280
mru 1280
proxyarp
lcp-echo-failure 4
lcp-echo-interval 30
connect-delay 5000
ms-dns 8.8.8.8
ms-dns 8.8.4.4
root@host:~# cat /etc/xl2tpd/xl2tpd.conf
[global]
port = 1701
[lns default]
ip range = 194.87.56.79 # наш дополнительный адрес, который мы будем вытаскивать на своем хосте
local ip = 194.87.56.1 # гейтвей дополнительного адреса
require chap = yes
refuse pap = yes
require authentication = yes
name = l2tpd
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes
root@host:~# bash -c "echo 1 > /proc/sys/net/ipv4/conf/all/proxy_arp"
И можно открывать порты, например, чтобы они стали доступны в интернете.
На хосте, где мы хотим получить внешний адрес:
root@netplay:~# cat /etc/xl2tpd/xl2tpd.conf
[lac myvpn]
name = username
lns = 1.2.3.4
pppoptfile = /etc/ppp/peers/myvpn.xl2tpd
ppp debug = no
root@netplay:~# cat /etc/ppp/peers/myvpn.xl2tpd
remotename myvpn
user "username"
password "password"
unit 0
nodeflate
nobsdcomp
noauth
persist
nopcomp
noaccomp
maxfail 5
debug
systemctl restart xl2tp.service
sh -c 'echo "c myvpn" > /var/run/xl2tpd/l2tp-control'
ip r add 1.2.3.4 via вашроутер
ip r add default via гейтвей_хостинга
# ...
# Вы восхитительны! Через несколько минут к вам нагрянут гости из разных стран с попытками авторизаций по ssh.