2011年12月29日 星期四

Linux下以pptp方式撥入VPN網路中


  1、下載pptp用戶端

  wget http://nchc.dl.sourceforge.net/sourceforge/pptpclient/pptp-1.7.1.tar.gz

  2、解壓

  tar zxvf pptp-1.7.1.tar.gz

  3、編譯和安裝

  make; make install

  4、編輯設定檔,設定撥號名為mypptp

  vim /etc/ppp/peers/mypptp

  內容如下:
remotename mypptp
linkname mypptp
ipparam mypptp
pty "pptp vpnserverip --nolaunchpppd "
name myaccount
usepeerdns
require-mppe
refuse-eap
noauth
file /etc/ppp/options.pptp

其中,myaccount為用戶名

  5、編輯/etc/ppp/chap-secrets,加入用戶名和帳號,這裡假設myaccount的密碼為mypassword

myaccount * mypassword *
  6、撥號,運行以下命令

/usr/sbin/pppd call mypptp logfd 1 updetach

  如果以上設定檔正確無誤,則可正常撥入虛擬網管的pptp VPN網路中了,此時如果用ifconfig查看連接情況,可以看到多了一條ppp連接,並能正確分到IP位址了。

  7、添加路由

  雖然已經撥號上來了,但此時,如果你要訪問你的虛擬區域網路資源,你必需添加一條路由才行,這裡假設你撥號上來的連接名為ppp0,並此你的虛擬區域網路的IP段為192.168.163.0,那麼,你需要加入以下命令:

route add -net 192.168.163.0 netmask 255.255.255.0 dev ppp0

  至此,在Linux系統下以pptp方式撥入虛擬網管的VPN網路中了。

  以上操作過程在Ubutun 8.1Fedora 78910下操作通過。

 PS:如果在撥號時報以下錯誤:

/usr/sbin/pppd:pty option precludes specifying device name

請檢查pppd的版本,不可低於2.3.7

檢查etc/ppp/optoins檔,該檔不能為空。


------------------------------------------------------------------------------------------------------------
若出現Couldn't set tty to PPP discipline: Invalid argument 錯誤訊息
則須在kernel 加入 ppp_mppe , ppp_async 這兩個module後即可



    Device Drivers --->
        Network device support --->
            <*>   PPP (point-to-point protocol) support
            <*>     PPP support for async serial ports
            <*>     PPP MPPE compression (encryption) (EXPERIMENTAL)

Linux下以l2tp方式撥入VPN網路

  1、下載l2tp用戶端

  wget ftp://ftp.xelerance.com/xl2tpd/xl2tpd-1.1.12.tar.gz

  2、解壓

  tar zxvf xl2tpd-1.1.12.tar.gz

  3、進入解壓目錄,並編譯和安裝

  cd xl2tpd-1.1.12

  make; make install

  4、在/etc目錄下建立xl2tpd目錄,並在該目錄下建立l2tp的設定檔xl2tpd.conf

  mkdir /etc/xl2tpd

  vim /etc/xl2tpd.conf

  xl2tpd.conf檔的內容如下:

[global]
port = 1701

[lac myvpn]
lns = vpnserver ip or domain name
refuse pap = yes
require authentication = no
name = myaccount
ppp debug = yes
pppoptfile = /etc/ppp/options.myvpn_l2tp

這裡假設你的vpn的帳號為myaccount

  5、在/etc/ppp目錄下建立options.myvpn_l2tp文件。

  vi /etc/ppp/options.myvpn_l2tp

該檔的內容如下:

asyncmap 0
noauth
crtscts
lock
hide-password
modem
netmask 255.255.255.0
proxyarp
lcp-echo-interval 30
lcp-echo-failure 4
ipcp-accept-local
ipcp-accept-remote

  6、在/etc/ppp/chap-secrets檔中加入myaccount的密碼:

myaccount * mypassword *

  7、運行xl2tpd程式。

  xl2tpd

  如果你需要看到程式的輸出資訊,可以在後面加上參數D,如:

  xl2tpd -D

此時輸出上可能會出現This binary does not support kernel L2TP. 不用理會它,沒什麼影響,但是如果報告:Open_controlfd: Unable to open /var/run/xl2tpd/l2tp-control for reading.的錯誤,則需要手動的在/var/run目錄下建立一個名為xl2tpd的目錄:

mkdir /var/run/xl2tpd

  8、新開一終端,使用以下方法開始撥號:

echo "c vpnlife" > /var/run/xl2tpd/l2tp-control

如果配置正確無誤,則可正常撥入虛擬網管的l2tp VPN網路中了,此時如果用ifconfig查看連接情況,可以看到多了一條ppp連接,並能正確分到IP位址了。

  9、添加路由

  雖然已經撥號上來了,但此時,如果你要訪問你的虛擬區域網路資源,你必需添加一條路由才行,這裡假設你撥號上來的連接名為ppp0,並此你的虛擬區域網路的IP段為192.168.163.0,那麼,你需要加入以下命令:

route add -net 192.168.163.0 netmask 255.255.255.0 dev ppp0

  至此,在Linux系統下以l2tp方式撥入虛擬網管的VPN網路中了。

  以上操作過程在Ubutun 8.1Fedora 78910下操作通過。

How to use simple speedtest in RaspberryPi CLI

  pi@ChunchaiRPI2:/tmp $  wget -O speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py --2023-06-26 10:4...