Проброс socks через сервер (VPN для бедных)
на локальной машине:
ssh -D 1080 -q -C -N <host>
Важные ключи:
-D 1080- запустить socks сервер на порту 1080-q- тихий режим-C- включить компрессию (gzip). Опционально. На медленных линках - полезно, на относительно быстрых - лучше без него.-N- не запускать никакие команды на сервере, только передавать трафик-f- работать в фоне (background)
затем:
export ALL_PROXY=socks5h://localhost:1080
curl https://ifconfig.me/
# or with httpie
http --download --proxy=https:socks5h://localhost:1080 https://ifconfig.me
Важный момент - wget не умеет работать через socks5, и не понимает переменную ALL_PROXY (понимает http_proxy / https_proxy), можно через curl URL > path
В браузере можно поставить дополнение Proxy SwitchyOmega и в нем создать запись для SOCKS5-прокси на localhost:1080.
Доступ к локальному сервису на VPS
на локальной:
ssh -fN -L 1443:localhost:443 user@host
После этого: curl -k https://localhost:1443/ откроет сайт на вашем сервере на порту 443.
Проброс (туннелирование) порта снаружи во внутреннюю сеть
Например, с VPS на домашнюю машину. На локальной:
ssh -fN -R 0.0.0.0:80:localhost:80 root@host
на сервере (если свободен) будет слушаться 0.0.0.0:80 и пробрасываться через SSH на наш localhost:80. -fN нужно чтобы уйти в бэкграунд. root нужен для привелигированных портов (<1024), иначе можно без него. В sshd_config нужно чтобы было GatewayPorts yes .