centos 5.2 用 pptpd 架设并配置 vpn ,实现多公网IP拨入那个出口为那个
2012-05-18第一章:基本安装
1、安装ppp和iptables yum install -y ppp iptables
2、下载pptpd的rpm包并安装 wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-1.rhel5.1.i386.rpm rpm -ivh pptpd-1.3.4-1.rhel5.1.i386.rpm
3、编辑配置文件 vi /etc/pptpd.conf 需要有如下内容: option /etc/ppp/options.pptpd logwtmp localip 172.16.195.1 remoteip 172.16.195.101-200 一般只需加入后两行即可,即分配服务器IP和客户端IP范围,可自己选择合适的IP
4、编辑配置文件 vi /etc/ppp/options.pptpd 需要如下内容: name pptpd refuse-pap refuse-chap refuse-mschap require-mschap-v2 require-mppe-128 proxyarp lock nobsdcomp novj novjccomp nologfd ms-dns 208.67.222.222 ms-dns 208.67.220.220 一般只需设定后两行的dns服务器地址即可,即去掉#号,把IP改为服务器的dns IP供客户端使用
5、编辑配置文件 vi /etc/ppp/chap-secrets
Secrets for authentication using CHAP
client server secret IP addresses
(user) pptpd (passwd) * 四项分别为客户端用户名,vpn服务器名(一般不改动),登陆密码,IP分配址(*为自动),中间用空格或Tab键隔开 可加入多个用户,分行录入
6、开启ip转发功能(否则只能连到vpn服务器,不能通过vpn服务器访问外部网络),修改配置文件
vi /etc/sysctl.conf 中的相应内容如下 net.ipv4.ip_forward = 1 使配置立即生效: /sbin/sysctl -p
7、启用日志 vi /etc/syslog.conf
追加一行:
daemon.debug /var/log/pptpd.log
重起syslog:
kill -SIGHUP cat /var/run/syslogd.pid
8、配置iptables
/sbin/iptables -F FORWARD
/sbin/iptables -A FORWARD -p udp –dport 53 -j ACCEPT /sbin/iptables -A FORWARD -p tcp –dport 1723 -j ACCEPT /sbin/iptables -A FORWARD -p gre -j ACCEPT /sbin/iptables -A FORWARD -m state –state ESTABLISHED,RELATED -j ACCEPT
如果要为不同客户端IP段分配不同公网IP,可类似如下设置
/sbin/iptables -t nat -A POSTROUTING -s 192.168.251.0/24 -j SNAT –to-source 204.13.64.251 /sbin/iptables -t nat -A POSTROUTING -s 192.168.252.0/24 -j SNAT –to-source 204.13.64.252
……
/etc/init.d/iptables save /etc/init.d/iptables restart 注意:防火墙一定要开启,否则无法通过vpn服务器访问外网
8、设置iptables和pptpd开机自动启动: chkconfig pptpd on chkconfig iptables on
启动pptpd
service pptpd start
第二章:进阶安装(多公网IP实现拨入那个出口为那个)
- 要配置多公网ip,基本思路是启动多个pptpd进程,分别监听每一个公网IP,并设置不同的ip池段,最后通过snat实现不同网段映射到不同的公网ip
2.设置第一个公网IP vi /etc/pptpd.conf
localip 192.168.251.1 remoteip 192.168.251.2-254 #在最后面添加一行 第一个公网ip listen 210.0.0.251
添加NAT映射: /sbin/iptables -t nat -A POSTROUTING -s 192.168.251.0/24 -j SNAT –to-source 210.0.0.251
3.设置第二个公网IP
cp /etc/pptpd.conf /etc/pptpd1.conf
vi /etc/pptpd1.conf
localip 192.168.252.1 remoteip 192.168.252.2-254 #在最后面添加一行 第一个公网ip listen 210.0.0.252
添加NAT映射: /sbin/iptables -t nat -A POSTROUTING -s 192.168.252.0/24 -j SNAT –to-source 210.0.0.252
4.重复3复制配置文件pptpd2.conf,pptpd3.conf…….pptpd[N].conf
5.启动方法: #pptpd -c /etc/pptpd.conf 这个已经被作为系统服务了 pptpd -c /etc/pptpd1.conf pptpd -c /etc/pptpd2.conf pptpd -c /etc/pptpd3.conf ……..
pptpd -c /etc/pptpd[N].conf
将以上命令放入初始启动文件中 linux 自动启动服务很简单,最简单的是把启动命令放到/etc/rc.d/rc.local文件里这样就可以每次启动的时候自动启动服务了
第三章:查看服务是否启动
查看网络,查看我们设置的每个公网ip上的pptp[tcp:1723]是否启动 netstat -a|more
查看进程 ps -A
启动vpn服务器 service pptpd start
停止vpn服务器,但已有连接不受影晌 service pptpd stop
重启vpn服务器,并切断已连接的客户端 service pptpd restart-kill
service pptpd start
查看本机dns服务器地址 cat /etc/resolv.conf
查看所有网卡的信息 ifconfig -a