
У меня есть сервер с Centos 7 и pptpd, установлен httpd. httpd работает хорошо, и у сервера pptpd есть рабочие соединения, так что он тоже работает хорошо. На самом деле мне нужно сделать сайт httpd доступным только через pptp vpn. Я пробовал использоватьэти ответыно безуспешно. php $_SERVER['REMOTE_ADDR'] дает мне один и тот же IP-адрес, когда я посещаю сайт с VPN или без него.
обновление:
iptables -A INPUT -i ! ppp+ -p tcp --dport <protected-port> -j REJECT
дает мнеBad argument 'ppp+'
Затем я написал правила iptables, чтобы блокировать все запросы <protected-port>
и разрешать только пакеты ppp+. Но, похоже, это тоже не работает.
Все что мне нужно, это иметь vpn и httpd на одном сервере и веб-сайт, доступный только для vpn-подключений. И мне это нужно для http и https.
решение1
Похоже, вам нужен разделенный (или публичный DNS с внутренней записью) DNS для доступа к внутреннему IP-адресу веб-сайта, вам нужно будет либо
- Отредактируйте файл hosts (/etc/hosts, %windir%/system32/drivers/etc/hosts)
- Настройте Bind с внутренним DNS-именем (внешне www.example.com указывает на внешний IP-адрес, в то время как ваш bind www.example.com имеет 192.168.1.10 (centosIP)... Обязательно укажите этот сервер в качестве DNS-распознавателя, если вы это сделаете.
- Настройте внутренний виртуальный хост DNS и публичную запись для внутреннего сайта (intranet.example.com = 192.168.1.10)
Также проверьте журнал доступа и посмотрите, откуда поступает трафик, используйте ping/nslookup/dig, чтобы убедиться, что DNS указывает на внутренний IP-адрес.