Моя установка выглядит следующим образом:
eth0 Link encap:Ethernet
inet addr:XXX.XXX.XXX.XXX
eth1 Link encap:Ethernet
inet addr:10.10.20.20
lo Link encap:Local Loopback
tun0 inet addr:10.8.0.1
Я хочу, чтобы моя веб-почта была доступна только при подключении через VPN. В настоящее время директива VirtualHost - *: 443. Я предполагаю, что хочу заменить * на адрес eth1.
Но нужно ли мне также установить маршрут iptables? Если да, то что / как?
На сервере OpenVPN добавьте строку ниже:
push "route web.mail.ip.address"
В разделе виртуального хоста вы можете ограничить доступ по IP-адресу, примерно так:
<Directory "/your/virtual/host/directory">
Order allow,deny
Allow from vpn.server.ip.address
ErrorDocument 403 http://google.com
</Directory>
Destination Gateway Genmask Flags Metric Ref Use Iface
10.8.0.2 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
10.8.0.0 10.8.0.2 255.255.255.0 UG 0 0 0 tun0
10.180.160.0 0.0.0.0 255.255.224.0 U 0 0 0 eth1
IP-адрес веб-почты такой же, как у моего сервера, скажем, X.X.X.X.
Сервер VPN находится на том же компьютере и имеет файл конфигурации, в котором есть:
server 10.8.0.0 255.255.255.0
Когда я добавил: нажмите "route X.X.X.X"
Я не смог добраться до адреса электронной почты.
Странно то, что даже когда я был подключен к VPN, и мой IP-адрес из http://www.whatismyip.com показал IP-адрес моего сервера, журналы веб-почты показали, что я пытался подключиться с IP-адреса своего интернет-провайдера.