赞助连接

赞助连接

阅 读 文 章

客户端连接openvpn服务器后不能上网的问题

[来源:网上转载 (http://bbs.chinaunix.net) | 作者:网友(zhangweibo) | 时间:2007-06-25 | 浏览: 人次 ]

一台远程openvpn服务器(linux),单网卡 ip地址是固定公网地址,vpn地址池是10.8.0.0/24
tun设备的地址是10.8.0.1

一台adsl拨号的客户端(windows),远程连接到vpn服务器

服务端设置了
push "redirect-gateway def1"
push "dhcp-option DNS 10.8.0.1"


现在连接没问题,客户端获得10.8.0.6的地址,但客户端网关已被改为 10.8.0.5  我很纳闷为什么是10.8.0.5而且dhcp也是10.8.0.5 ,这台机器到底在哪儿?

现在我不知道如何让客户端用新获得的网关上网,我在服务器上设置了nat:
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

但还是不能上网。

这问题困惑我很久了,google也很久了。希望有朋友能给我指点一下

btw:当然我不设置redirect-gateway 参数,还是可以用原来的网关上网,现在的问题就是如何用vpn的网关来上网


我用tap和tun两种模式都可以实现到nat
会不会是少了转发这句?
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 192.168.123.0/24 -o eth0 -j MASQUERADE

还有可能是防火墙规则

另外我实验发现好象只能通过redirect-gateway 参数来给客户端变更默认网关
如果通不用这个参数的话又想通过服务器上网使用
route delete 0.0.0.0 mask 0.0.0.0 192.168.1.1
route add 0.0.0.0 mask 0.0.0.0 192.168.1.1
或者
route change 0.0.0.0 mask 0.0.0.0 196.168..1.1
都不能实现通过服务器上网,这个过程会断网,不是很明白为什么openvpn的client就能改我的默认网关,而我自己来改就会断网呢?
我想实现的是客户端是否通过服务器端上网由他自己决定.


我是忘了 echo 1 > /proc/sys/net/ipv4/ip_forward
加了这条,就没问题了


是不是还要在服务器上配置dns服务器。
是不是要用bind?

不用,服务器本身能上网就行。


大家好,我也遇到这个问题。如何解决,有写详细些
最好,还能通过,VPN Client做代理服务器上网。

如是VPN Client的IP是10.0.1.5
                               255.255.255.0
                               10.0.1.6

另外的电脑设为 10.0.1.100
                         255.255.255.0
                        10.0.1.5

服务端设置了
#默认网关为VPN服务器的内网口地址.
push "redirect-gateway def1"
#设置客户端的dns服务器 ip可以任意可用的dnsip,不一定要自己建
push "dhcp-option DNS 10.8.0.1"


再起用转发
echo 1 > /proc/sys/net/ipv4/ip_forward
起用NAT
iptables -t nat -A POSTROUTING -s 192.168.123.0/24 -o eth0 -j MASQUERADE

我是这么做的,tap tun都可以实现通过服务器上网.




QUOTE:

最新评论 共有0位网友发表了评论

发表评论

评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名:(注册)
密码:
验证码:
匿名发表
网站地图友情连接交流论坛网站投稿广告服务联系我们留言本站长统计
Some rights reserved: www.newhtm.com, 鄂ICP备07010232号 E-mail:chinakafei@live.com,QQ:552766
中国咖啡技术网(Chmhome):国外编程技术书籍,中文编程手册,经典编程文章,交流技术,技术软件下载,计算机论文,毕业论文.