У моего сервера Ubuntu есть два if: eth0, eth1
.
eth0: Public IP
eth1: 192.168.0.2
Я настроил down eth0
для сервера vpn, используя pptpd.
vpn ip_range
это 192.168.100.234-248
#/etc/pptpd.conf
logwtmp
bcrelay eth2
localip 192.168.100.1
remoteip 192.168.100.234-238,192.168.100.245
Теперь с моего клиента можно подключиться к серверу vpn и получить адрес 192.168.100.234
.
Но я не могу получить доступ к чему-либо в локальной сети 192.168.0.2/24.
Я попытался установить iptables -A FORWARD -j ACCEPT
, а также -t nat
настройки.
Но, похоже, никаких эффектов.
Как правильно выполнить эту работу?
Большое спасибо.
Вот информация о моем сервере и клиенте https://gist.github.com/4635571
Я нашел решение и был протестирован. Это просто работает.
Мой сервер Ubuntu имеет два сетевых интерфейса: eth1 - wan eth2 - lan 192.168.0.2
И служба VPN использует 192.168.100.1 в качестве своего адреса.
VPN-клиент получит адрес от 192.168.100.234-238.
Следующие команды позволяют VPN-клиентам получать доступ к другим клиентам за локальной сетью сервера. например 192.168.0.100
Использование iptables для настройки nat.
# ubuntu vpn server
sudo iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -d 192.168.0.0/24 -j MASQUERADE
И клиент добавляет маршрут вручную.
# mac os x client
sudo route add 192.168.0.0/24 192.168.100.1