openvxn區(qū)別與傳統(tǒng)vxn,它工作在IP層,OpenVxN是一款基于SSL的開源VxN軟件,它實(shí)現(xiàn)了利用SSL來保證網(wǎng)絡(luò)通訊安全性的目的,同時(shí)避免了傳統(tǒng)SSL VxN僅提供簡單的Web應(yīng)用的不足,它具有支持各種應(yīng)用協(xié)議,支持Windows,Linux,BSD,MAC OS等多平臺(tái)的特點(diǎn)。
環(huán)境說明
A為客戶端192.168.1.2
B為服務(wù)端10.0.0.2 已經(jīng)在配置文件中加入了push "redirect-gateway def1 bypass-dhcp",將客戶端流量全部走openvxn,缺點(diǎn):需要配合客戶端上的配置redirect-gateway def1來實(shí)現(xiàn),但是如果有的時(shí)候客戶端上如果需要正常上網(wǎng)可能會(huì)受到影響
撥號(hào)完成后,根據(jù)配置ovxn中指定的tun/tap,生成對(duì)應(yīng)虛擬網(wǎng)卡tun/tap,虛擬網(wǎng)卡的作用就是openvxn程序能夠迅速通過tun/tap虛擬設(shè)備與數(shù)據(jù)包之間進(jìn)行交互
下面是發(fā)送和接收原理
發(fā)送:
A去往B的某個(gè)地址,這里假定是10.0.0.3,撥號(hào)完成后,A獲得了去往10.0.0.0/8網(wǎng)段的路由,即去往10.0.0.0/8網(wǎng)段的下一跳走tun/tap網(wǎng)卡,理論上A做了兩點(diǎn),第一點(diǎn)就是A判斷數(shù)據(jù)包的目標(biāo)IP地址是不是自己本網(wǎng)段的,或者說是路由表中其他地址的,再根據(jù)路由表進(jìn)行轉(zhuǎn)發(fā);第二點(diǎn)就是A判斷出是去往服務(wù)端網(wǎng)段的,將所有數(shù)據(jù)包送往tun/tap網(wǎng)卡,再經(jīng)由該網(wǎng)卡通知openvxn應(yīng)用程序調(diào)用write函數(shù)和ssl加密并且封裝,且將真實(shí)目標(biāo)ip地址(例如目標(biāo)地址是10.0.0.3)和數(shù)據(jù)包作為數(shù)據(jù),在最外側(cè)將目標(biāo)ip地址定為openvxn服務(wù)端的外網(wǎng)ip地址,再轉(zhuǎn)發(fā)給外網(wǎng)卡eth2或者eth0,經(jīng)由internet發(fā)送到服務(wù)端。
接收:
openvxn服務(wù)端接收到此數(shù)據(jù)包之后,根據(jù)外側(cè)的加密算法判斷出這是vxn數(shù)據(jù)包,再次發(fā)給tun/tap網(wǎng)卡,tun/tap網(wǎng)卡通知openvxn應(yīng)用程序,調(diào)用read函數(shù)和ssl對(duì)數(shù)據(jù)進(jìn)行解密并且剝離包頭,將實(shí)際的目標(biāo)ip地址暴露出來,此時(shí)數(shù)據(jù)包根據(jù)vxn服務(wù)端的路由表,再到確定的目標(biāo)10.0.0.3地址上去。
openvxn下tun模式的流程圖:
參考:https://www.jianshu.com/p/09f9375b7fa7
更多關(guān)于云服務(wù)器,域名注冊(cè),虛擬主機(jī)的問題,請(qǐng)?jiān)L問三五互聯(lián)官網(wǎng):m.shinetop.cn