中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

linux環(huán)境下建立通過(guò)互聯(lián)網(wǎng)的IP隧道的方法

1970-01-01    來(lái)源:

容器云強(qiáng)勢(shì)上線!快速搭建集群,上萬(wàn)Linux鏡像隨意使用

方法一:基于SSH的加密通道

SSH (Secure Shell)是一套安全的網(wǎng)絡(luò)連接程序,它可以實(shí)現(xiàn)通過(guò)網(wǎng)絡(luò)遠(yuǎn)程登錄其他系統(tǒng),它就是加密的telnet協(xié)議。但是OPENSSH除了具有遠(yuǎn)程登錄功能以外,更可以建立加密IP隧道。
我們這里假設(shè)Alice.org服務(wù)器位于某個(gè)企業(yè)網(wǎng)的內(nèi)網(wǎng),其IP地址為192.168.2.200,它通過(guò)NAT方式可以訪問互聯(lián)網(wǎng)。我們現(xiàn)在需要通過(guò)位于互聯(lián)網(wǎng)上的名字為bob.org的機(jī)器里訪問Alice,也就是遠(yuǎn)程登錄Alice。這時(shí)候我們就需要在bob和alice之間建立IP隧道。我們首先登錄Alice,執(zhí)行命令:
# ssh -R 11022:127.0.0.1:22 [url=mailto:ideal@211.1.1.1]ideal@211.1.1.1[/url]
該命令表示登錄服務(wù)器211.1.1.1,并將服務(wù)器的11022定向?yàn)楸镜氐?2號(hào)端口。執(zhí)行完該命令以后,會(huì)提示輸入ideal用戶密碼,輸入以后就會(huì)登錄到遠(yuǎn)程服務(wù)器bob。這時(shí)在bob上netstat -ln就會(huì)發(fā)現(xiàn)11022端口監(jiān)聽,保持從alice到bob的ssh連接不斷開。從互聯(lián)網(wǎng)任何位置登錄服務(wù)器bob以后,我們可以通過(guò)該隧道登錄到alice服務(wù)器,執(zhí)行以下命令:

# ssh localhost -p 11022
該命令表示連接本地的11022端口,因?yàn)槲覀円呀?jīng)創(chuàng)建了從alice到bob的隧道,因此連接本地的11022端口實(shí)際上就是通過(guò)隧道訪問alice的22端口號(hào)。
這樣通過(guò)這個(gè)隧道就可以實(shí)現(xiàn)登錄位于內(nèi)部網(wǎng)的服務(wù)器alice,但是因?yàn)閟sh命令中指定了源端口,這種隧道一般只能支持一種協(xié)議,對(duì)于特定應(yīng)用則具有加密帶來(lái)的安全性的優(yōu)點(diǎn),但靈活性則不夠,而且為了保證隧道暢通,從alice到bob的ssh連接不能斷開,也就意味著用戶不能退出alice,否則隧道就會(huì)關(guān)閉。

方法二:使用vtun建立IP隧道

VTun (Virtual TUNnel,http://vtun.sourceforge.net)是一個(gè)功能很強(qiáng)的軟件,可以利用它來(lái)建立 IP虛擬隧道,而且隧道的數(shù)目可以不受限制,完全依照機(jī)器的能力而定,并且在此基礎(chǔ)上應(yīng)用上可以實(shí)現(xiàn)VPN、移動(dòng)IP等功能。
Vtun所支持的通道并且具有多種功能特性:
加密:支持基于CHAP的認(rèn)證、并采用BlowFish 128bit密鑰。
壓縮:支持zlib、lzo等多種壓縮算法。
通信整形:平臺(tái)無(wú)關(guān),允許分別限制進(jìn)入和流出通道的速率。
Vtun支持以下類型通道:
IP tunnel (tun):支持ppp的IP隧道。
以太網(wǎng)隧道(Ethernet tunnel):支持可以實(shí)現(xiàn)以太網(wǎng)封裝的各種協(xié)議,如:IPX、Appletalk、Bridge等。
串口通道(Serial tunnel,tty):支持串行電纜的傳輸方式,如:PPP、SLIP等。
管道通道(Pipe tunnel,pipe):支持所有能使用Unix管道的程序。
Vtun支持多種平臺(tái),包括:Linux、BSD以及 Solaris。
下載軟件:http://prdownloads.sourceforge.net/vtun/vtun-2.6.tar.gz
http://vtun.sourceforge.net/tun/tun-1.1.tar.gz
網(wǎng)絡(luò)介紹
bob.org擁有固定ip(211.1.1.1),所以作為vtun的服務(wù)器端。alice.org沒有固定的ip,采用的是NAT接入方式,因?yàn)闆]有固定公網(wǎng)IP地址,也沒有域名。alice.org應(yīng)該作為VPN的客戶端,通過(guò)vtund連接bob.org服務(wù)器,建立VPN通道。
首先確保兩臺(tái)服務(wù)器都允許IP forwarding。這點(diǎn)可以通過(guò)運(yùn)行命令:

# /sbin/sysctl -w net.ipv4.ip_forward=1
如果希望永久打開,則可以通過(guò)編輯/etc/sysctl.conf文件,將其中的net.ipv4.ipforward=0行改成net.ipv4.ipforward=1來(lái)實(shí)現(xiàn)。
安裝tun設(shè)備
在安裝vtun之前我們首先要安裝虛擬通道點(diǎn)到點(diǎn)設(shè)備(Virtual Point-to-Point(TUN) and Ethernet(TAP) devices),將會(huì)在/dev中產(chǎn)生兩個(gè)虛擬通道設(shè)備/dev/tunX(字符設(shè)備)和tunX(virtual Point-to-Point interface,虛擬點(diǎn)到點(diǎn)接口)。
安裝vtun-1.1.tar.gz:
1. 解壓軟件:
# tar xvfz tun-1.1.tar.gz
2. 配置:
# cd tun-1.1
# ./ configure
注意:安裝tun需要系統(tǒng)安裝有和當(dāng)前內(nèi)核版本一致的內(nèi)核源代碼,因此建議安裝位于安裝光盤的內(nèi)核源代碼RPM包。
3. 安裝:
# make install
4. 加在內(nèi)核模塊
# modprobe tun
如果希望系統(tǒng)啟動(dòng)時(shí)自動(dòng)加載該模塊,則編輯/etc/modules.conf,添加:

alias char-major-90 tun #2.2.x內(nèi)核
alias char-major-10-200 tun #2.4.x內(nèi)核
 
這樣就完成了對(duì)ip隧道驅(qū)動(dòng)tunX的安裝。查看內(nèi)核模塊,看tun是否被正確安裝:
# lsmod
Module Size Used by
tun 4064 3
安裝Vtund
解壓縮:
#tar xvfz vtun-2.6.tar.gz
#cd vtund
配置:
# ./configure --disable-lzo --disable-zlib --disable-shaper
注:我們這里不打算壓縮和流量成形,因此需要帶這些參數(shù),如果希望支持壓縮,則需要先安裝lzo或者zlib軟件。
編譯安裝:
# make install
默認(rèn)情況下,vtund被安裝在/usr/local/sbin/目錄下,而默認(rèn)的配置文件則為/usr/local/etc/vtund.conf中。
需要在兩臺(tái)機(jī)器上分別安裝vtund和tun驅(qū)動(dòng),其中bob.org服務(wù)器上的vtund以服務(wù)器方式運(yùn)行,而alice.org的vtund以客戶端方式運(yùn)行。
vtund.conf配置文件說(shuō)明:
vtund.conf文件是vtund配置文件。Vtund.conf文件格式為:

name {
keyword value;
keyword value;
..
}
關(guān)鍵字定義值后的分號(hào)是必須的,name后必須有完整的{}。Name可以有以下幾個(gè)值:
? options:定義通用選項(xiàng),例如端口號(hào)等信息;
? default:所有會(huì)話的默認(rèn)值;
? session(可以為任意名,用于識(shí)別一個(gè)會(huì)話):指定該會(huì)話的特定值,用以覆蓋default中的定義。
下面是作為作者實(shí)際運(yùn)行環(huán)境中以服務(wù)器方式運(yùn)行的vtund.conf的內(nèi)容:
options { # bob.org,隧道IP地址為10.0.2.2
port 5000; # vtund服務(wù)器監(jiān)聽端口
ppp /usr/sbin/pppd;
ifconfig /sbin/ifconfig;
route /sbin/route;
firewall /sbin/ipchains;
# vtund需要調(diào)用的各種程序的路徑信息;
}
# 默認(rèn)會(huì)話選項(xiàng)
default {
type tun; #
proto udp;# 下層采用UDP協(xié)議
comp no; # 不對(duì)會(huì)話壓縮
encr no; # 不對(duì)會(huì)話加密
keepalive yes #保證連接一直激活;
alice { # 主機(jī)alice建立的會(huì)話特定選項(xiàng),可以覆蓋默認(rèn)會(huì)話選項(xiàng)的配置
pass alice; # 回話建立密鑰
type tun; # 通道類型為IP隧道方式
proto tcp; # 采用下層tcp協(xié)議
comp no; # 不對(duì)會(huì)話壓縮
encr no; # 不對(duì)會(huì)話加密
keepalive yes; # Keep connection alive
up {#連接建立時(shí),首先應(yīng)該運(yùn)行的命令
ifconfig "%% 10.0.2.2 pointopoint 10.0.1.2 mtu 1450";
#首先激活接口,其中采用ppp建立連接,ppp本地IP為10.0.2.2,
#而遠(yuǎn)程IP分配為10.0.1.2。
program /sbin/arp "-sD 10.0.1.2 eth0 pub"; #配置arp表項(xiàng)
route "add -net 10.0.1.0 netmask 255.255.255.0 gw 10.0.2.2"; # 添加路由
};
down {#連接建立時(shí),首先應(yīng)該運(yùn)行的命令
program "/sbin/arp -d 10.0.1.2 -i eth0";
};
}
vtund的更詳細(xì)說(shuō)明請(qǐng)參考man vtund.conf的幫助手冊(cè)內(nèi)容。
下面是作為作者實(shí)際運(yùn)行環(huán)境中以客戶端方式運(yùn)行的vtund.conf的內(nèi)容:
客戶端(yyy.org VPN_IP=10.0.1.2):

options {
port 5000;
ppp /usr/sbin/pppd;
ifconfig /sbin/ifconfig;
route /sbin/route;
firewall /sbin/ipchains;
}
alice {
pass alice;
keepalive yes;
up {
ifconfig "%% 10.0.1.2 pointopoint 10.0.2.2 mtu 1450";
program /sbin/arp "-sD 10.0.2.2 eth0 pub";
route "add -net 10.0.2.0 netmask 255.255.255.0 gw 10.0.1.2";
firewall "-A forward -s 10.0.0.0/24 -d 10.0.2.0/24 -j ACCEPT";
};
down {
firewall "-D forward -s 10.0.0.0/24 -d 10.0.2.0/24 -j ACCEPT";
program "/sbin/arp -d 10.0.2.2 -i eth0";
};
}
啟動(dòng)vtund
服務(wù)器端(bob.org):只須以root身份執(zhí)行/usr/sbin/vtund -s就可以了,如果希望系統(tǒng)啟動(dòng)后自動(dòng)建立VPN通道,可以將這個(gè)命令加入/etc/rc.d/rc.local中。
客戶端(alice.org):只須以root身份執(zhí)行/usr/local/sbin/vtund alice bob.org就可以了,如果希望系統(tǒng)啟動(dòng)后自動(dòng)建立VPN通道,可以將這個(gè)命令加入/etc/rc.d/rc.local中。
如果連接建立起來(lái)以后,在alice上運(yùn)行ifconfig應(yīng)該有以下的輸出:

tun0 Link encap:Point-to-Point Protocol
inet addr:10.0.1.2 P-t-P:10.0.2.2 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1450 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:10
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
可以看到,系統(tǒng)多了一個(gè)網(wǎng)絡(luò)接口tun0,其IP地址為10.0.1.2,而對(duì)端(服務(wù)器端)IP地址則為10.0.2.2。
這時(shí)在alice或者bob上,可以建立靜態(tài)路由信息或者直接連接對(duì)端的網(wǎng)絡(luò)或主機(jī),實(shí)現(xiàn)跨越互聯(lián)網(wǎng)的VPN隧道,當(dāng)然該隧道并沒有加密。
注:如果在客戶端運(yùn)行vtund alice bob.org后連接無(wú)建立,則應(yīng)該注意查看內(nèi)核是否加載了tun0模塊。

標(biāo)簽: linux 安全 代碼 服務(wù)器 服務(wù)器端 互聯(lián)網(wǎng) 企業(yè) 通信 網(wǎng)絡(luò) 用戶 域名

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:增強(qiáng)Linux服務(wù)器系統(tǒng)安全性的知識(shí)

下一篇:Linux配置web服務(wù)器