您好,登錄后才能下訂單哦!
很長時間沒寫博客,沒錯,我又被拉去做外包了,不多BB,直接上干貨。也許你面試需要
openvxn區(qū)別與傳統(tǒng)vxn,它工作在IP層,OpenVxN是一款基于SSL的開源VxN軟件,它實現(xiàn)了利用SSL來保證網絡通訊安全性的目的,同時避免了傳統(tǒng)SSL VxN僅提供簡單的Web應用的不足,它具有支持各種應用協(xié)議,支持Windows,Linux,BSD,MAC OS等多平臺的特點。
環(huán)境說明
A為客戶端192.168.1.2
B為服務端10.0.0.2 已經在配置文件中加入了push "redirect-gateway def1 bypass-dhcp",將客戶端流量全部走openvxn,缺點:需要配合客戶端上的配置redirect-gateway def1來實現(xiàn),但是如果有的時候客戶端上如果需要正常上網可能會受到影響
撥號完成后,根據配置ovxn中指定的tun/tap,生成對應虛擬網卡tun/tap,虛擬網卡的作用就是openvxn程序能夠迅速通過tun/tap虛擬設備與數(shù)據包之間進行交互
下面是發(fā)送和接收原理
發(fā)送:
A去往B的某個地址,這里假定是10.0.0.3,撥號完成后,A獲得了去往10.0.0.0/8網段的路由,即去往10.0.0.0/8網段的下一跳走tun/tap網卡,理論上A做了兩點,第一點就是A判斷數(shù)據包的目標IP地址是不是自己本網段的,或者說是路由表中其他地址的,再根據路由表進行轉發(fā);第二點就是A判斷出是去往服務端網段的,將所有數(shù)據包送往tun/tap網卡,再經由該網卡通知openvxn應用程序調用write函數(shù)和ssl加密并且封裝,且將真實目標ip地址(例如目標地址是10.0.0.3)和數(shù)據包作為數(shù)據,在最外側將目標ip地址定為openvxn服務端的外網ip地址,再轉發(fā)給外網卡eth2或者eth0,經由internet發(fā)送到服務端。
接收:
openvxn服務端接收到此數(shù)據包之后,根據外側的加密算法判斷出這是vxn數(shù)據包,再次發(fā)給tun/tap網卡,tun/tap網卡通知openvxn應用程序,調用read函數(shù)和ssl對數(shù)據進行解密并且剝離包頭,將實際的目標ip地址暴露出來,此時數(shù)據包根據vxn服務端的路由表,再到確定的目標10.0.0.3地址上去。
openvxn下tun模式的流程圖:
參考:https://www.jianshu.com/p/09f9375b7fa7
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。