Переадресация портов через прокси-сервер
Я за брандмауэром с заблокированными входящими соединениями на всех портах. Я хотел бы запустить веб-сервер Apache на своем компьютере. Можно ли настроить бесплатный публичный прокси-сервер для пересылки входящих соединений на мой локальный сервер через брандмауэр?
3 ответа
Вам не нужен прокси-сервер вне брандмауэра, блокирующий вашу машину, потому что, если никто не может подключиться к вашей машине, как прокси-сервер? Все, что вам нужно сделать, это сделать исключение в брандмауэре для перенаправления портов на ваш сервер. Если у вас есть доступ к маршрутизатору, который действует как брандмауэр, войдите в систему и включите переадресацию портов, перенаправьте порт 80 с маршрутизатора на адрес вашей локальной сети.
Если у вас нет доступа к тому, что действует как брандмауэр, никто за пределами вашей локальной сети не сможет получить доступ к вашей машине, если вы сначала не подключитесь к внешнему миру. Примером этого является настройка SSH, которая, судя по вашему вопросу, может быть слишком сложной для реализации.
Для этого вы можете использовать службу VPN с поддержкой переадресации портов. Вот пример https://www.privateinternetaccess.com/pages/client-support/ хотя вы не можете включить его для порта 80, но он будет работать с портом, который они предоставляют.
Если исходящие соединения относительно открыты, вы можете спросить ssh(1)
создать туннели для вас.
ssh -R *:8888:localhost:80 username@proxyserver.example.com
Теперь подключения к proxyserver.example.com:8888
следует направить в ваш локальный порт 80. Подробности из ssh(1)
страница руководства:
-R [bind_address:]port:host:hostport
Specifies that the given port on the remote (server) host
is to be forwarded to the given host and port on the
local side. This works by allocating a socket to listen
to port on the remote side, and whenever a connection is
made to this port, the connection is forwarded over the
secure channel, and a connection is made to host port
hostport from the local machine.
Port forwardings can also be specified in the
configuration file. Privileged ports can be forwarded
only when logging in as root on the remote machine. IPv6
addresses can be specified by enclosing the address in
square braces or using an alternative syntax:
[bind_address/]host/port/hostport.
By default, the listening socket on the server will be
bound to the loopback interface only. This may be
overridden by specifying a bind_address. An empty
bind_address, or the address ‘*’, indicates that the
remote socket should listen on all interfaces.
Specifying a remote bind_address will only succeed if the
server's GatewayPorts option is enabled (see
sshd_config(5)).
If the port argument is ‘0’, the listen port will be
dynamically allocated on the server and reported to the
client at run time.