源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

用ssh跑pppd (最简单的linux vpn )

  • 时间:2022-04-14 10:35 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:用ssh跑pppd (最简单的linux vpn )
用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居然这么简单 ! 大家有什么高见,还希望多多交流!
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部