LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1197|回复: 8

VPN上网问题(我是新手,麻烦帮帮忙,谢谢)

[复制链接]
发表于 2005-7-18 23:58:38 | 显示全部楼层 |阅读模式
我最近才从WINDOWS转过来.对LINUX还不熟悉.但是很想学,希望大家能帮帮我,谢谢!

我这里小区上网是用VPN拨号的(他们叫PPTP),我装的是FEDORA CORE 4.不知道怎么配置VPN上网呢?麻烦写得详细点,我怕我看不懂.

在这里先谢谢了!
发表于 2005-7-19 09:19:05 | 显示全部楼层
linux下vpn client

[本页面推荐在1024x768分辩率下浏览]
文章类别:Linux 发行版Mandrakelinux专题   
网站目录: 网站首页 —> Linux 发行版Mandrakelinux专题
转载自:www.linuxsir.cn


由 shareman 在 09-16-2003 18:54 发表:

linux下vpn client

我是linux初学着,今天终于成功的安装了linux下的vpn客户端,现介绍一下:
首先下载相关包:
ppp-2.4.2-cvs_20030610-1.i386.rpm
pptp-linux-1.2.0-1.i386.rpm
pptp-php-gtk-20030731-rc1.i386.rpm (这是gui的配置工具,很好用)
可以到http://pptpclient.sourceforge.net/ 去下载。
下载安装后,用root帐号运行pptpconfig,添加好相关配置(服务器地址,route等),连接成功,
现在我已经能连上公司的vpn了,如果能把工作都能在linux下完成就好了。
回复 支持 反对

使用道具 举报

发表于 2005-7-19 09:21:13 | 显示全部楼层
用ssh跑pppd (最简单的linux vpn )

(2003-01-28 11:10)
来源:安全焦点讨论区
发信人:sbaa2003(老猫),信区:网络安全精华区


用ssh跑pppd (最简单的linux vpn )
sbaa 2003.1.10
我为了通过封了udp包的防火墙上qq
试了很多办法
用snake的socks5代理不错,可以必须外网机器是 windows
而linux下,stunnel 只是转发tcp不支持qq 的 udp
于是我想到了vpn pptpd是个很不错的,支持windows的vpn客户端
可惜要防火墙开ip转发,也不满足我的要求,

今天看到一个ssh-ppp脚本,再看了一些文章,原来竟然这么简单!!

只要你有两台linux  外网上有sshd服务,你就可以透过防火墙
建立vpn !

我家拨号的机器adsl 是动态域名 sbaa.3322.org
我公司一台linux 内网的(10.9.0.16) 通过公司的网关nat 可以访问到 sbaa.3322.org的22(ssh)

两台机器上都有pppd 条件就ok!

开始:
在家里机器上
useradd vpn
ssh-keygen
Enter file in which to save the key (/root/.ssh/identity): vpnkey

现在有了vpnkey 和vpnkey.pub
配置 sshd /etc/ssh/sshd_config
打开 RSAAuthentication yes

cp vpnkey.pub /home/vpn/.ssh/authorized_keys

把下面内容加到/etc/sudoers
Cmnd_Alias VPN=/usr/sbin/pppd
vpn ALL=NOPASSWD: VPN

本机测试一下
sudo /usr/sbin/pppd noauth
~?}#?}!}!} }4}"}&} } } } }%}&V?鴠'}"}(}"~?}#?}!}!} }4}"}&} } } } }%}&V?鴠'}"}(}"~?}#?}!}!} }4}"}&} } } } }%}&V?鴠'}"}(}"~?}#?}!}!} }4}"}&} } } } }%}&V?鴠'}"}(}"~?}#?}!}!} }4}"}&} } } } }%}&V?鴠'}"}(}"~?}#?}!}!} }4}"}&} } } } }%}&V?鴠'}"}(}"~?}#?}!}!} }4}"}&} } } } }%}&V?鴠'}"}(}"~?}#?}!}!} }4}"}&} } } } }%}&V?鴠'}"}(}"~?}#?}!}!} }4}"}&} } } } }%}&V?鴠'}"}(}"~?}#?}!}!} }4}"}&} } } } }%}&V??
就ok

好了
到公司机器上,把刚才的vpnkey ftp 过来
测一下
看到提示符登录成功一切就ok了
ssh -l vpn -i ./vpnkey -1 -P sbaa.3322.org
Linux 2.2.14.
cool:~$ exit
logout
Connection to sbaa.3322.org closed.

建立以下脚本
vpnstart

#!/bin/sh
# VPN PPP-SSH script

# History
# 16 May 2002 j.n.pritchard@brad.ac.uk

# *******************************************

# You will need to edit in these varibles

# Server Hostname
SERVER_HOSTNAME=sbaa.3322.org

# Username on the server for VPN
SERVER_USERNAME=vpn

# SSH Private Key Location
PRIVATE_KEY_FILE=/home/bin_shi/vpnkey

# *******************************************
# You do NOT need to edit below this line unless you use the subnet 192.168.250


# VPN Network subnet (change to a different subnet if this one is in use)
VPN_SUBNET=192.168.6
# Server ppp address
SERVER_IFIPADDR=$VPN_SUBNET.1
# Client ppp address
CLIENT_IFIPADDR=$VPN_SUBNET.2

# Extra SSH Options
LOCAL_SSH_OPTS="-P -1 -i $PRIVATE_KEY_FILE"

# Path environment
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/sbin:/usr/X11/bin

# Command Alias'
PPPD=/usr/sbin/pppd
SSH=/usr/local/bin/ssh

if ! test -f $PPPD ; then echo "can't find $PPPD"; exit 3; fi
if ! test -f $SSH ; then echo "can't find $SSH" ; exit 4; fi

case "$1" in
  start)
  # echo Starting VPN Connection
  $ updetach noauth passive pty "$ $ $ -l$ -o Batchmode=yes sudo $ nodetach notty noauth" ipparam vpn $
  # echo "connected."
  ;;

  stop)
    # echo -n "Stopping vpn to $SERVER_HOSTNAME: "
    PID=`ps ax | grep "$ $ $ -l$ -o" | grep -v ' passive ' | grep -v 'grep ' | awk '{print $1}'`
    if [ "$" != "" ]; then
     kill $PID
     echo "disconnected."
    else
     echo "Failed to find PID for the connection"
    fi
  ;;

  config)
  echo "SERVER_HOSTNAME=$SERVER_HOSTNAME"
  echo "SERVER_USERNAME=$SERVER_USERNAME"
  echo "SERVER_IFIPADDR=$SERVER_IFIPADDR"
  echo "CLIENT_IFIPADDR=$CLIENT_IFIPADDR"
  ;;

  *)
  echo "Usage: vpn "
  exit 1
  ;;
esac

exit 0


有些配置你可以自己改改
然后./vpnstart start
呵呵
ifconfig -a 看到 192.168.6.2了吗
ping 192.168.6.1 就是我的 sbaa.3322.org了
不错
在sbaa.3322.org上加
route add -net 10.9.0.0 netmask 255.255.248.0 gw 192.168.6.2

然后到我公司的windows机器上加
route add 192.168.6.1 mask 255.255.255.255 10.9.0.16

ping 192.168.6.1 哦卡 通的

然后qq上我的sbaa.3322.org 的socks5代理
呵呵upd包在ssh的链路里被加密封装了

防火墙被穿过了。

这个办法真好!可惜不是我自己发现的,我也是看到网上有ssh-ppp脚本
再研究了一下

呵呵!

linux上的vpn居然这么简单 !
大家有什么高见,还希望多多交流!
qq 142505
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-7-19 12:53:31 | 显示全部楼层
谢谢,我按照http://pptpclient.sourceforge.net里面的教程已经全部装好,也能成功拨入VPN了.那个软件显示有数据在传输了.但是我还是不能浏览网页,一打开就转到我们服务商的错误页(如果没连上网就会出现服务商的错误页)不知道为什么会这样?
回复 支持 反对

使用道具 举报

发表于 2005-7-19 14:09:52 | 显示全部楼层
你需要加入网关,或者路由吧???

netstat -rn 看看有没有网关
回复 支持 反对

使用道具 举报

发表于 2005-7-19 14:14:06 | 显示全部楼层
上面也提到了

下载安装后,用root帐号运行pptpconfig,添加好相关配置(服务器地址,route等),连接成功,
现在我已经能连上公司的vpn了,如果能把工作都能在linux下完成就好了。

()里头有包括服务器地址 路由等,我想是否因为没有添加路由的关系。你先看看有没有网关再说吧。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-7-19 17:59:34 | 显示全部楼层
服务商只提供了服务器地址给我,不清楚route是什么.
我进行了netstat -rn之后,显示的结果:
Destination                  
211.147.230.154           
172.17.1.10            
10.96.16.0                    
169.254.0.0               
0.0.0.0                     

Gateway
0.0.0.0
10.96.16.1
0.0.0.0
0.0.0.0
10.96.16.1

这个论坛显示贴子没有格式,只能这么打了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-7-19 18:31:53 | 显示全部楼层
我怀疑是不是有一种验证在LINUX无法通过. 我PING了一些大网站的网址,能够PING到正确的IP.但是内容就被服务商挡住了.服务商错误地认为我还没有拨号.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-7-19 20:55:22 | 显示全部楼层
呵呵,我自己解决了.原来那个软件默认的ROUTING是CLIENT TO LAN,把那个改成ALL TO TUNNEL就可以了.谢谢帮忙!!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表