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

Получите доступ к двум веб-серверам (VPS и Windows Server) через один и тот же IP-адрес (ОБЩЕСТВЕННЫЙ И VPN) с помощью VPN

У меня два сервера: размещенный VPS с веб-сайтом на порту 80 и домашний сервер под управлением Windows 7. См. Схему ниже.

На домашнем сервере работает WAMP на порту 88, который работает с общедоступными и локальными IP-адресами моего дома. При соединении обоих серверов вместе (домашний сервер и размещенный VPS) с помощью OPENVPN этот порт блокируется, и веб-сайт становится недоступным по VPN (IP): 88.

Раньше у меня был успех, я провел единый сайт на домашнем сервере за размещенный VPN и открыл порт 80 с помощью iptables, чтобы IP стал статическим с использованием адреса VPN. VPN (IP): 80 будет работать, что позволит мне получить доступ к домашнему серверу через порт 80, используя IP-адрес VPN.

Возможно ли, чтобы два веб-сайта работали с использованием IP-адреса VPN на разных портах с разных серверов? Порт 80 с VPS PUBLIC IP будет указывать на сервер VPS LAMP, а порт 88 с VPN IP будет указывать на домашний сервер WAMP.

Хотя это не относится к serverfault, краткая версия - да.

Чтобы передать порт 88 обратно на домашний сервер, вам понадобятся как минимум три правила:

iptables -t nat -A PREROUTING -p tcp --dport 88 -j DNAT --to <internal VPN address>
iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -o tun+ -p tcp --dport 88 -j ACCEPT

Вы также можете захотеть:

iptables -t nat -A POSTROUTING -i tun+ -o <external IF> -j SNAT --to <VPS IP>
iptables -A FORWARD -i tun+ -j ACCEPT

Вы также захотите убедиться, что ваш ip_forward sysctl включен.