一、需求
1.有时候我们在外地出差,需要连到公司的内网办公,这个时候就需要一个×××服务器了。
2.我们内网的pc想出外网也是可以通过×××服务器出去的
二、测试环境:1.服务器:外网IP eth0:10.20.230.46
内网IP eth1:192.168.9.12.×××外网客户端:IP:10.20.230.48
×××内网客户端:192.168.9.100
3.VPV客户端分配的IP网段:172.28.29.11-30三、服务端安装:
yum install -y ppp iptables wget rpm -ivh pptpd-1.3.4-2.rhel5.x86_64.rpm
四、修改配置文件:
1.配置文件/etc/ppp/options.pptpdmv /etc/ppp/options.pptpd /etc/ppp/options.pptpd.bakvi /etc/ppp/options.pptpd输入如下内容:name pptpdrefuse-paprefuse-chaprefuse-mschaprequire-mschap-v2require-mppe-128proxyarplocknobsdcompnovjnovjccompnologfdidle 2592000ms-dns 8.8.8.8ms-dns 8.8.4.42.配置文件/etc/ppp/chap-secretsmv /etc/ppp/chap-secrets /etc/ppp/chap-secrets.bakvi /etc/ppp/chap-secrets输入如下内容:# Secrets for authentication using CHAP# client server secret IP addressestest pptpd 123 * 注:这里的test和123即为PPTP ×××的登录用户名和密码 3. 配置文件/etc/pptpd.confmv /etc/pptpd.conf /etc/pptpd.conf.bak vi /etc/pptpd.conf 输入以下内容: option /etc/ppp/options.pptpd logwtmp localip 10.20.230.46
remoteip 172.28.29.11-30 注:为拨入×××的用户动态分配172.28.9.11~172.28.9.30之间的IP,特别强调:客户端要拨入的IP是:10.20.230.46
4.配置文件/etc/sysctl.conf vi /etc/sysctl.conf 修改以下内容: net.ipv4.ip_forward = 1 保存、退出后执行:/sbin/sysctl -p 五、启动服务: /sbin/service pptpd start 六、防火墙设置: iptables -t nat -A POSTROUTING -s 172.28.29.0/255.255.255.0 -o eth0 -j MASQUERADE
iptables -A FORWARD -s 172.28.29.0/255.255.255.0 -j ACCEPT
iptables -A RH-Firewall-1-INPUT -s 172.28.29.0/255.255.255.0 -p tcp -m state --state NEW -m tcp -j ACCEPT
客户端连上×××后不能上公网,解决办法有两个:一、把×××拨号连接属性-网络-高级-把使用默认网关的勾去掉;二、在×××服务器上做以上防火墙设置。
下面我把我的iptables的配置贴一下吧:
[root@localhost ~]# iptables-save # Generated by iptables-save v1.3.5 on Sun May 13 11:30:41 2012 *nat :PREROUTING ACCEPT [3581:1078915] :POSTROUTING ACCEPT [9:593] :OUTPUT ACCEPT [9:593] -A POSTROUTING -s 172.28.29.0/255.255.255.0 -o eth0 -j MASQUERADE COMMIT # Completed on Sun May 13 11:30:41 2012 # Generated by iptables-save v1.3.5 on Sun May 13 11:30:41 2012 *filter :INPUT ACCEPT [3475:1092039] :FORWARD DROP [23:928] :OUTPUT ACCEPT [5142:1575131] :RH-Firewall-1-INPUT - [0:0] -A INPUT -j RH-Firewall-1-INPUT -A FORWARD -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT -A FORWARD -s 172.28.29.0/255.255.255.0 -j ACCEPT -A FORWARD -j RH-Firewall-1-INPUT -A FORWARD -s 172.28.29.0/255.255.255.0 -j ACCEPT -A FORWARD -s 172.28.29.0/255.255.255.0 -j ACCEPT -A RH-Firewall-1-INPUT -i lo -j ACCEPT -A RH-Firewall-1-INPUT -p icmp -m icmp --icmp-type any -j ACCEPT -A RH-Firewall-1-INPUT -d 224.0.0.251 -p udp -m udp --dport 5353 -j ACCEPT -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT -A RH-Firewall-1-INPUT -s 0.0.0.0/255.255.255.0 -p tcp -m state --state NEW -m tcp -j ACCEPT -A RH-Firewall-1-INPUT -s 172.28.29.0/255.255.255.0 -p tcp -m state --state NEW -m tcp -j ACCEPT COMMIT # Completed on Sun May 13 11:30:41 2012
七、 Windows 下 PPTP ××× 客户端配置:
外网用户通过拨×××的外网IP进入内网办公
内网用户通过拨×××的内网IP出去上网
在内网的机器上ping一下百度,看看可以上网不:
ok,成功了。
本文出自 “” 博客,请务必保留此出处