linux系統安裝PPTP教程
-
最近由於工作原因,搞了各種版本的動態IP,目前我搭建成功的一共有三種:分別為PPTP的動態IP,L2TP的動態IP,還有一個就是openvpn本篇部落格先介紹PPTP的vpn,接下來我會依次介紹剩下的兩種VPN的安裝方法與安裝環境,本次server的安裝環境是raspberry,是基於debian的系統,所有在Ubuntu上面按照這個步驟應該也是可以實現的好吧,安裝步驟開始吧!!!
-
華科雲商致力於為客戶提供安全、穩定、高效的{換IP軟體}。現有{派克斯}、{ip代理}、{撥號vps}等產品,全國100+城市ip可選,可滿足各類客戶換IP需求,歡迎客戶諮詢測試。適用於各種網賺、驗證、註冊、投票、掛機、推廣營銷
---------------------
作者:xujinyang2018
來源:CSDN
原文:https://blog.csdn.net/xujinyang2018/article/details/83028786
版權宣告:本文為博主原創文章,轉載請附上博文連結! -
-
1、安裝pptpd#sudoapt-getinstallpptpd
-
2、設定本地ip與撥入使用者
-
最近由於工作原因,搞了各種版本的動態IP目前我搭建成功的一共有三種:分別為PPTP的動態IP,L2TP的動態IP,還有一個就是openvpn
-
好吧,安裝步驟開始吧!!
1、安裝pptpd #sudo apt-get install pptpd 2、設定本地ip與撥入使用者的IP地址範圍
localip192.168.1.4remoteip 192.168.0.10-28localip是linux主機的ip地址(如果是本機對映到路由器,該地址要改為路由器的入口地址),remoteip是地址池,也就是遠端撥進來的計算機所分配到的ip地址
-
3、修改/etc/ppp/pptpd-options,主要是增加dns配置的說明增加ms-dns 的值為192.168.1.1
-
4、我們修改/etc/ppp/chap-secrets,主要是對使用者進行配置。#secrets for authentication using CHAP
#client server secret IP addressjelly * 123456 *
按照,使用者名稱(tab)主機名(tab)密碼(tab)分配到的ip地址 這樣的格式來填寫,其中主機名可以用“*”代替,如果不強制指定該使用者分配到哪一個ip地址,可以將最後一項也改為“*”
5、重啟pptpds#sudo /etc/init.d/pptpd restart
6、修改/etc/sysctl.conf,去掉“net.ipv4.ip_forward=1”前的註釋號,之後“sudo sysctl -p”應用配置
7、轉發規則命令#iptables -t nat -A POSTROUTING -s 192.168.0.0/20 -j SNAT --to 192.168.11.102 //是ifconfig得到的IP
#iptables -A FORWARD -p tcp --syn -s 192.168.0.0/20 -j TCPMSS --set-mss 1356 //配置MTU,否則速度很慢
8、sudo /etc/init.d/pptpd restart 最後你就可以在window上面用自帶的動態IP連線到server,必須使用IP地址,使用者名稱和密碼,不需要安裝客戶端,只有openvp才會需要安裝客戶端!!! -
MAC地址是唯一的,可以用來 識別不同的硬體機。下面講述如何在linux下獲取自身的MAC地址。
在Linux下編寫獲取本機網絡卡地址的程式,比較簡單的方法是利用套介面(socket)和IO介面(ioctl)函式來獲取網絡卡資訊,需要引用如下檔案:
#include <sys/socket.h>
#include <sys/ioctl.h>
#include <netinet/if_ether.h>
#include <net/if.h>
#include <linux/sockios.h>
socket函式的原型是:
int socket(int domain,int type, int protocol);
本函式有以下3個輸入引數:
domain引數:表示所使用的協議族;
type引數:表示套介面的型別;
protocol引數:表示所使用的協議族中某個特定的協議。
如果函式呼叫成功,套介面的描述符(非負整數)就作為函式的返回值,假如返回值為-1,就表明有錯誤發生。
利用socket函式來獲取網絡卡MAC資訊時,domain引數取值AF_INET,表示採用internet協議族;type引數指定為SOCK_DGRAM,表示採用資料報型別套介面,protocol引數在這種組合下只有唯一選擇,故用0填充。
I/O控制函式ioctl用於對檔案進行底層控制,這裡的檔案包含網絡卡、終端、磁帶機、套介面等軟硬體設施,實際的操作來自各個裝置自己提供的ioctl介面。ioctl函式的原型如下:
int ioctl(int d,int request,…)
這裡,引數d取值套介面的描述符,第一個request引數指定通過socket傳輸的I/O型別。本實驗可以取值 SIONGIFHWADDR(0x8927),表示取硬體地址。其他取值及其含義詳見/usr/includr/linux/sockios.h。其後的 request引數用於為實現I/O控制所必須傳入或傳出的引數。本實驗需要用ifr結構傳入網絡卡裝置名,並傳出6B的MAC地址。網路所傳版本有誤,此程式為自己修改核對所發。
#include <sys/socket.h>
#include <sys/ioctl.h>
#include <netinet/if_ether.h>
#include <net/if.h>
#include <linux/sockios.h>
#include <stdio.h>
#include <string.h>
#define ETH_ALEN 6
void main(void)
{
char *device="eth0"; //teh0是網絡卡裝置名
unsigned char macaddr[ETH_ALEN]={0}; //ETH_ALEN(6)是MAC地址長度
struct ifreq req;
int err,i;
int s=socket(AF_INET,SOCK_DGRAM,0); //internet協議族的資料報型別套介面
strcpy(req.ifr_name,device); //將裝置名作為輸入引數傳入
req.ifr_hwaddr.sa_family=ARPHRD_ETHER; //此處需要新增協議,網路所傳程式沒新增此項獲取不了mac。
err=ioctl(s,SIOCGIFHWADDR,&;req); //執行取MAC地址操作
close(s);
if(err != -1)
{
printf("獲取mac地址開始列印!/n");
memcpy(macaddr,req.ifr_hwaddr.sa_data,ETH_ALEN); //取輸出的MAC地址
for(i=0;i<ETH_ALEN;i++)
printf("%02x",macaddr[i]);
}
} -
最近需要在Ubuntu下開發桌面軟體,想起了QT。書上介紹的方法太老了,網上找了一大堆安裝方法,都或多或少有各種問題,以下是我自己摸索出來的與大家分享!另外不建議大家現在用QT5,參考資料不多,建議初學者先從QT4學起。本文寫作時間是2013年11月份。
本文使用的環境:
QT Library: 4.8.1 http://download.qt-project.org/archive/qt/4.8/4.8.1/qt-everywhere-opensource-src-4.8.1.tar.gzQT Creator:2.4.1 http://download.qt-project.org/archive/qtcreator/2.4/qt-creator-linux-x86-opensource-2.4.1.binUbuntu:10.04.4 http://old-releases.ubuntu.com/releases/10.04.0/ubuntu-10.04.4-desktop-i386.iso
安裝QT分為兩步,第一步是QT Library的安裝,第二步是QT Creator的安裝,QT Creator是QT的整合開發環境。
第一步 安裝QT Library:
1、諾基亞把QT賣給Digia後,QT商業版和開源版就分開了,開源版全部放在QT Project網站上,從該網站下載qt-everywhere-opensource-src-4.8.1.tar.gz。可以在Ubuntu裡面使用Firefox瀏覽器下載,預設下載目錄是/home/your name/Downloads,使用終端cd到Downloads目錄,然後使用命令
tar xzvf qt-everywhere-opensource-src-4.8.1.tar.gz
解壓軟體包,解壓完後,cd到該目錄
cd qt-everywhere-opensource-src-4.8.1
2、我的電腦在Ubuntu 10.04.4環境下,沒有安裝g++,編譯QT要用到g++,所以首先安裝g++,使用apt-get命令安裝g++,
sudo apt-get install g++
3、然後需要安裝libX11-dev libXext-dev libXtst-dev這三個包,這點非常重要,很多朋友因為沒有安裝這三個包而出現以下錯誤,
Basic XLib functionality test failed!You might need to modify the include and library search paths by editingQMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in /home/your name/Qt/qt-x11-opensource-src-4.8.1/mkspecs/linux-g++
使用apt-get安裝這三個包,
sudo apt-get install libX11-dev libXext-dev libXtst-dev
4、如果你的Ubuntu已經安裝g++和libX11-dev libXext-dev libXtst-dev,可以跳過2,3兩步。在進入qt-everywhere-opensource-src-4.8.1目錄後,使用如下命令配置QT Library,
./configure
注意不能直接輸入configure,必須加上 “./” 才可以。然後終端會出現讓你選擇商業版還是開源版,輸入字母o選擇開源版。然後會有協議讓你接受,輸入yes就OK啦。
5、經過漫長地等待後,終端會出現如下資訊,
Qt is now configured for building ,just run 'make'Once everything is built , you must run 'make install'Qt will be installed into /usr/local/Qt-4.8.1To reconfigure ,run 'make confclean' and 'configure'
然後輸入make,這樣會生成QT庫,同時編譯所有演示程式。
make
6、QT編譯完成後,輸入make install來安裝QT,注意make install需要root許可權,所以要加sudo。
sudo make install
7、經過漫長等待,QT安裝完畢後,首先進入QT安裝目錄測試QT是否安裝成功,QT預設安裝在/usr/local/Trolltech/Qt-4.8.1目錄裡面,所以先進入該目錄,
cd /usr/local/Trolltech/Qt-4.8.1
然後在進入qmake所在的bin資料夾,
cd bin
然後輸入qmake,如果出現正常的資訊,則表明QT已經安裝成功。或者輸入以下指令,
qmake -v
如果出現正確的版本資訊,則表示安裝成功了。
8、接下來要設定環境變數,設定環境變數的目的是為了在任何目錄下都可以使用QT。首先需要設定使用者環境變數,
gedit /home/your name/.bashrc
然後會彈出一個編輯視窗,在末尾新增以下程式碼,
export QTDIR=/usr/local/Trolltech/Qt-4.8.1 export PATH=$QTDIR/bin:$PATH export MANPATH=$QTDIR/man:$MANPATH export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
然後設定root使用者的環境變數,設定root使用者的環境變數需要root許可權,所以要加sudo,
sudo gedit /etc/profile
然後會彈出一個編輯視窗,在末尾新增以下程式碼,
export QTDIR=/usr/local/Trolltech/Qt-4.8.1 export PATH=$QTDIR/bin:$PATH export MANPATH=$QTDIR/man:$MANPATH export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
儲存後退出,然後重啟電腦。
9、重啟電腦後,開啟終端在任意目錄下輸入qmake,如果能出現正確資訊,則表明環境變數已經配置成功。
第二步 安裝QT Creator:
相比QT Library,QT Creator的安裝要簡單的多,我們下載的bin檔案是可執行檔案,安裝時會出現像在Windows下的介面,安裝路徑預設就可以了。使用終端cd到Downloads目錄,首先修改bin檔案的許可權使其具有可執行的許可權,
chmod a+x qt-creator-linux-x86-opensource-2.4.1.bin
然後輸入以下命令安裝bin檔案,
./qt-creator-linux-x86-opensource-2.4.1.bin
至此,QT已經安裝完畢,開啟桌面上的QT Creator來執行一個demo測試吧!
-
以上是unbuntu系統下QT安裝教程的內容,更多 unbuntu 安裝 教程 系統 的內容,請您使用右上方搜尋功能獲取相關資訊。