Я настраиваю веб-сервер Debian в своей школе, к которому люди должны иметь доступ за пределами школы (т.е. веб-сайт должен быть доступен извне локальной сети). Проблема в том, что у них нет открытого порта 80 (или действительно любого порта, кроме 1723), и им не разрешено открывать его, поскольку школьный совет не разрешает этого.
У меня вопрос: есть ли способ сделать это без переадресации портов? Я знаю, что порт 1723 предназначен для PPTP, так что могу ли я использовать его, чтобы это стало возможным?
Я знаю, что мог бы просто иметь сервер за пределами школы и просто иметь к нему удаленный доступ отовсюду, но учащиеся в школьном Wi-Fi получают очень мало доступа в Интернет, поскольку он обычно используется школьными устройствами, но если бы они могли получить доступ к серверу локально, когда они были в школьном WiFi, тогда не было бы этой проблемы.
Если у вас есть другой сервер в другом месте, вы можете использовать ssh-туннель для переключения между nat и межсетевым экраном:
+--------------------------------------------+ ||| +----------------------------------+
| Server at school | ||| | Server outside network |
| 10.2.3.100 | ||| | 1.2.3.4 |
| HTTPD on 80 |--SSH through fw--> | HTTPD 80 proxy -> localhost:81 |
| ssh -R 81:localhost:80 holepunch@1.2.3.4 | ||| | sshd |
| dns mywebsite.com -> 1.2.3.100 | ||| | dns mywebsite.com -> 1.2.3.4 |
+--------------------------------------------+ ||| +----------------------------------+
^ ^
| |
+--------------------------------------------+ +----------------------------------+
| Client at school looks up mywebsite.com | | Client outside school looks up |
| and connects directly to the server | | mywebsite.com and gets 1.2.3.4 |
+--------------------------------------------+ | which is either served from |
| proxy or forwarded over ssh |
+----------------------------------+