У меня есть Linux-сервер на веб-хосте, у которого я также приобрел 9 дополнительных IP-адресов. Всего у моего сервера 10 IP-адресов. Я хочу настроить их всех как прокси SOCKS5.
Как мне это сделать?
Сейчас бегу:
$ ssh-keygen # Make a keypair
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_hosts # Add it to my ssh authorized keystore
$ sh -D *:1337 -q -C -N localhost -v -f # start the socks proxy using ssh -D on all IPs
$ ufw enable tcp from MY_LAPTOP to any port 1337 # allow on all IPs on port 1337
Это создает прокси-сервер socks, который я могу протестировать со всех своих IP-адресов, например:
$ curl -x socks5h://ip1:13370 http://ipinfo.io/geo
$ curl -x socks5h://ip2:13370 http://ipinfo.io/geo
$ ... etc
И все эти прокси работают! Вроде, как бы, что-то вроде. Все они отображают один и тот же IP-адрес, который является основным IP-адресом моего сервера. Поэтому, хотя я могу войти на свой сервер с любого из них, я ухожу через свой единственный основной IP-адрес.
Я хочу настроить это так, чтобы, когда я вхожу в свой прокси-сервер socks с ip2, мой общедоступный IP-адрес выглядит как ip2. и т.д. Это может потребовать установки 10 прокси (10 x "ssh -D"), которые я пробовал, но безуспешно. В частности, я попытался заменить «localhost» на желаемый общедоступный IP-адрес в приведенной выше команде ssh, и это не привело к работающему прокси-серверу socks. Я также пробовал запустить SSH на 10 дополнительных портах (22000-22010), а затем запустить несколько прокси-серверов socks, например:
$ ssh -D *:1337 -q -C -N ip1 -p 22002 -v -f
$ ssh -D *:1338 -q -C -N ip2 -p 22003 -v -f
But when connecting to port 1337 and connecting to port 1338, the resulting public IP is the same: the server's primary IP.
Как мне проще всего достичь своей цели?