如何设置OpenVPN以允许VPN客户端访问服务器LAN内的所有服务器?


12

我的服务器LAN IP为192.168.1.1,并且在192.168.1.2上有一个Intranet Web服务器。OpenVPN守护程序配置为提供客户端192.168.2。*地址。

push "route 192.168.1.0 255.255.255.0"我希望配置中有一行代码,我希望它能使VPN客户端访问整个192.168.1.0网络,但它们只能访问192.168.1.1-VPN服务器本身。

我已经尝试启用net.ipv4.ip_forward = 1/etc/sysctl.conf但这无济于事。

有任何想法吗?

PS:服务器运行Ubuntu 12.04。
PPS:OpenVPN在tunUDP模式下运行。


尊敬的@FrandsHansen,我只接受在同一时间进行的回答:1.在逻辑上是对问题的正确答案; 2.经我测试可以正常工作。
伊万(Ivan)

Answers:


19

确保已自动启用IP转发

echo 1 > /proc/sys/net/ipv4/ip_forward

另外,为了使路由推送起作用,内部的服务器还需要知道通往您的OpenVPN客户端IP地址的路由。所以他们将需要知道到192.168.2.0/24的路由

您最有可能使iptables通过伪装使用以下方法进行路由

/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
/sbin/iptables -A FORWARD -i eth0 -o tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT
/sbin/iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT

echo 1 > /proc/sys/net/ipv4/ip_forward-bash: /proc/sys/net/ipv4/ip_forward: Permission denied-在这种情况下是什么意思?
伊万(Ivan)

这很可能意味着您不是以root用户身份执行此操作。尝试以root用户身份进行操作
Frands Hansen 2012年

与的效果相同sudo。结果是什么?
伊万

1
将sudo放在命令前面不会将特权添加到文件中(在>之后),因此您需要先提升为root然后再执行。
汉斯·弗朗德斯(Frands Hansen)2012年

1
或使用echo 1 | sudo tee
ygrek

2

如果您的LAN网络确实是192.168.1.0/24,则可能会遇到很多问题。因为大多数路由器都具有该默认网络。因此,当您在访客网络上时,您的计算机可以从192.168.1.0/24网络获得IP。因此,您无法访问远程网络,但可以访问访客网络。我建议为您的LAN和VPN选择另一个网络。例如,对于192.170.15.0/24(对于LAN)和10.0.5.0/xx(对于vpn)。xx取决于连接到LAN的VPN客户端数量。

这是我的openvpn fw脚本

#!/bin/sh

iptables -A INPUT -i tun+ -j ACCEPT
iptables -A FORWARD -i tun+ -j ACCEPT
iptables -A INPUT -i tap+ -j ACCEPT
iptables -A FORWARD -i tap+ -j ACCEPT

# Allow packets from private subnets
iptables -A INPUT -i eth1 -j ACCEPT
iptables -A FORWARD -i eth1 -j ACCEPT

# i have multiple vpn networks
# 192.123.123.0/24 = LAN
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth1 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 10.9.0.0/30 -o eth1 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 10.9.1.0/30 -o eth1 -d 192.123.123.39 -j MASQUERADE # to single server access only

echo 1 > /proc/sys/net/ipv4/ip_forward

不,实际上不是192.168.1.0,只有2个不同的192.168。#。0网络。谢谢你的回答。
伊万

如果需要,我可以共享我的openvpn服务器配置和客户端配置。
冈蒂斯,2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.