freebsd6+openvpn+nat转发共享上网无痛设置

2009-05-13 15:57:00来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

freebsd+openvpn+nat转发无痛设置
关键字:freebsd6 pf nat,freebsd7+openvpn+nat转发共享上网
[文章作者: 张志浩 本文版本:v1.0 最后修改:2009.01.05 转载请注明出处:http://terryfyp.cublog.cn]
mail:terryfypzhang@gmail.com

1.openvpn自己搭建,有个启动脚本openvpn-startup.sh修改一下
                   基本都注释掉,只留如下(这边已经修改了):
                   kldload if_tap
                   dir=/etc/openvpn
                   openvpn --cd $dir --daemon --config server.conf
2.2. cd /etc/openvpn;bash openvpn-startup.sh    ##启动openvpn
3.这样vpn就可以搭建好了,在windows上面,安装openvpn客户端,拷贝config目录过去,就可以连接了。
3.2. vi /etc/sysctl.conf   ##加入nat转发开启,使其重启自动生效
net.inet.ip.forwarding=1
sysctl net.inet.ip.forwarding=1

4.下面就是本文的重点,如何在freebsd上面加入nat转发,在网上查看了很多的文档,发现大部分都需要编译内核来完成,而刚好不巧,手上的服务器都在跑服务,编译内核,风险实在太大,后来想想,一个nat转发,用不着这样吧,freebsd都7.0了,还需要通过编译内核来实现nat,因此反复查阅相关文档,总算找到一个风险看似最低的方法:

pf+nat
1. /usr/ports/net-mgmt/nat,make install   ##可能需要安装
2.vi /etc/pf.conf,如果没有,可以/usr/share/examples/pf/pf.conf考过来,  #加入如下设置:
ext_if="em0"   # replace with actual external interface name i.e., dc0,外网接口
int_if="tap0"   # replace with actual internal interface name i.e., dc1,vpn接口
internal_net="10.8.0.0/24"          ##vpn内网ip
nat on $ext_if from $internal_net to any -> ($ext_if)

pass in all           #进来全开,可不加
pass out all         #出去全开,可不加
3.其他都是注释掉的
4.vi /etc/rc.conf       ##经过测试,无风险
pf_enable="YES"
pf_rules="/etc/pf.conf"
pf_flags=""
5.等于加载了pf模块,然后#sh /etc/rc   ##使其生效
6. pfctl -Nf /etc/pf.conf     #加载nat表,及刷新
7.pfctl –sn                 #查看nat表
8.其他默认设置,这样,你的vpn用户就可以通过nat转发上网了



本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/68301/showart_1773949.html

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:FreeBSD与VIA C3的启动问题

下一篇:squid3 不缓存404等错误页面