У меня есть корневой сервер, и я хочу, чтобы определенные URL-адреса находились под контролем VPN, а некоторые - нет. Например: www.mydomain.com или subdomain1.mydomain.com не должны находиться под контролем VPN, [ip моего сервера] / pgadmin должен контролироваться VPN, чтобы только люди внутри сети VPN могли вызывать этот адрес. Я также немного запутался, как должен выглядеть окончательный результат, потому что если публичный IP 300.300.300.300/pgadmin, он должен быть заблокирован, но в VPN это вероятно 10.0.0.1/pgadmin или что-то.
Я не очень знаком с настройкой VPN, но возможно ли это? Если да, это основано на добавлении маршрутов и IPTables? Если нет, как я могу решить описанную проблему?
Это возможно.
Существуют разные типы программного обеспечения VPN, использование OpenVPN, вероятно, является одним из самых простых. Вы можете использовать OpenVPN для назначения IP-адресов VPN-клиентам, а затем вы можете использовать стандартные правила брандмауэра IPTABLES (и / или правила в конфигурации вашего сервера), чтобы контролировать, какие IP-адреса имеют доступ к каким ресурсам.
Когда кто-то подключается через OpenVPN VPN, он будет отображаться как исходящий с назначенного вами адреса, а не с внешнего IP-адреса.
Это не имеет ничего общего с безопасностью VPN и IP - все, что нужно сделать, это базовая безопасность веб-сервера.
В принципе:
/ pgadmin должен быть доступен только с определенных IP-адресов (которые вы раздаете во внутренней сети и / или через VPN).
И любой другой адрес получает отказ в доступе.
Простая, базовая «безопасность по IP» - это то, что вы узнаете, читая документацию к своему веб-серверу (вероятно, apache).
http://www.cyberciti.biz/faq/apache-restrict-access-based-on-ip-address-to-selected-directories/
есть документация. Он работает с файлом httpg.conf ...
и записи выглядят так:
<Directory /var/www/sub/payroll/>
Order allow,deny
Allow from 192.168.1.0/24
Allow from 127
</Directory>