Назад | Перейти на главную страницу

Перенаправление портов с прокси-сервером

Я за брандмауэром, входящие соединения заблокированы на всех портах. Я хочу запустить на своей машине веб-сервер Apache. Можно ли настроить бесплатный общедоступный прокси-сервер для пересылки входящих подключений на мой локальный сервер через брандмауэр?

Для этого можно использовать службу VPN с поддержкой переадресации портов. Вот пример https://www.privateinternetaccess.com/pages/client-support/ хотя вы не можете включить его для порта 80, но он будет работать с портом, который они предоставляют.

Вам не нужен прокси вне брандмауэра, блокирующего вашу машину, потому что, если никто другой не может подключиться к вашей машине, как может прокси? Все, что вам нужно сделать, это сделать исключение в брандмауэре для перенаправления портов на ваш сервер. Если у вас есть доступ к маршрутизатору, который действует как брандмауэр, войдите в систему и включите Перенаправление портаперенаправьте порт 80 маршрутизатора на ваш адрес в локальной сети.

Если у вас нет доступа к тому, что действует как брандмауэр, никто за пределами вашей локальной сети не сможет получить доступ к вашему компьютеру, если вы сначала не подключитесь к внешнему миру. Примером этого является туннелирование SSH, которое, судя по вашему вопросу, может быть слишком сложным для реализации.

Если исходящие соединения относительно открыты, вы можете спросить 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.