Вот то, что я наконец придумал, будучи установленным в правильном направлении Miles Erickson. Я хотел, чтобы строка поиска отразила исходный субдомен/домен запроса а не перенаправленного сервера и порта, но он поместил меня на правильный путь к Google использование решения VirtualHost
и я наконец нашел решение, которое включало использование mod_proxy
.
<VirtualHost *:80>
ServerAdmin me@mydomain.com
ServerName dev.mydomain.com
ProxyPreserveHost On
# setup the proxy
<Proxy *>
Order allow,deny
Allow from all
</Proxy>
ProxyPass / http://localhost:8888/
ProxyPassReverse / http://localhost:8888/
</VirtualHost>
Вот порты и протоколы:
Кроме того, порт 1701 используется сервером L2TP, но не следует разрешать входящие подключения к это извне. Существует специальное правило брандмауэра, разрешающее только защищенный трафик IPSEC, входящий на этот порт.
Если вы используете IPTABLES, а ваш L2TP-сервер находится непосредственно в Интернете, вам нужны следующие правила:
iptables -A INPUT -i $EXT_NIC -p udp --dport 500 -j ACCEPT
iptables -A INPUT -i $EXT_NIC -p udp --dport 4500 -j ACCEPT
iptables -A INPUT -i $EXT_NIC -p 50 -j ACCEPT
iptables -A INPUT -i $EXT_NIC -p 51 -j ACCEPT
iptables -A INPUT -i $EXT_NIC -p udp -m policy --dir in --pol ipsec -m udp --dport 1701 -j ACCEPT
Где $ EXT_NIC
- это имя вашей внешней сетевой карты, например, ppp0.
Ipsec нужен UDP-порт 500 + IP-протоколы 50 и 51, но вместо этого вы можете использовать NAt-T, которому нужен UDP-порт 4500. С другой стороны, L2TP использует порт 1701 udp. Если вы пытаетесь передать трафик ipsec через «обычный» маршрутизатор Wi-Fi, и нет такой возможности, как сквозной IPSec, я рекомендую открыть порты 500 и 4500. По крайней мере, у меня так работает. Надеюсь это поможет.
Хорошо.
На самом деле — это зависит от обстоятельств.
У меня есть L2TP\IPSEC-сервер Ubuntu за NAT.
если ваш L2TP\ipsec сервер сидит за NAT, то в этом случае на вашем шлюзе (с NAT) нужно сделать проброс портов для следующих портов и протоколов:
500 UDP
4500 UDP
1701 UDP
дело в данном случае - нет необходимости вперед ESP или AH.
Кроме того, когда сервер находится за NAT, клиенты ОС Windows по умолчанию НЕ могут подключиться к такому серверу, вам нужно добавить в реестр
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent
AssumeUDPEncapsulationContextOnSendRule = 2 (type dword32)
Если сервер находится непосредственно в Интернете
UDP 500
UDP 4500
нужно открыть только через WAN-интерфейс. Это оно.
В этом случае клиентам ОС Windows не нужно вносить какие-либо изменения в реестр.
Информация проверена практикой.
===
обновление(2021.04.23):
если вы используете ipsec для динамического vpn, то включение протоколов ESP\AH на брандмауэре НЕ требуется.
Однако, если вы используете ipsec для туннелей site-to-site (между двумя маршрутизаторами с IP-адресами в Интернете) ---> тогда вам также необходимо включить брандмауэр
ESP protocol
AH protocol