亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于Linux的網(wǎng)絡(luò)流量控制方法及裝置與流程

文檔序號:12752237閱讀:402來源:國知局
本發(fā)明涉及計算機應(yīng)用
技術(shù)領(lǐng)域
:,特別涉及一種基于Linux的網(wǎng)絡(luò)流量控制方法及裝置。
背景技術(shù)
::在實際應(yīng)用中,人們希望根據(jù)地理位置,選擇性地阻斷或允許網(wǎng)絡(luò)流量通過。例如,服務(wù)器正在受某個特定國家的IP發(fā)起的DoS(DenialofService,拒絕服務(wù))攻擊;或者基于安全考慮,用戶想阻止來自未知國家的SSH登錄請求;又或者,用戶的公司對某些在線視頻有分銷權(quán),它要求只能在特定的國家內(nèi)合法發(fā)行;抑或是由于公司的政策,用戶需要阻止某個本地主機將文件上傳至任意一個非美國的遠(yuǎn)程云端存儲,等等,亟待解決這一問題。技術(shù)實現(xiàn)要素:本發(fā)明提供一種基于Linux的網(wǎng)絡(luò)流量控制方法及裝置,用以實現(xiàn)靈活、有效地控制網(wǎng)絡(luò)流量的目的。本發(fā)明提供一種基于Linux的網(wǎng)絡(luò)流量控制方法,包括:在Linux中編譯并安裝xtables-addons包,其中,所述xtables-addons包是一個代替Linux內(nèi)核和iptables舊的patch-o-matic包;在安裝所述xtables-addons包的過程中,由iptables加載xt_geoip模塊;安裝GeoIP數(shù)據(jù)庫,所述GeoIP數(shù)據(jù)庫將被xt_geoip模塊用來查詢IP地址與預(yù)設(shè)地區(qū)之間的對應(yīng)關(guān)系;基于xt_geoip模塊和GeoIP數(shù)據(jù)庫設(shè)置預(yù)設(shè)地區(qū)的網(wǎng)絡(luò)流量的控制規(guī)則,以控制預(yù)設(shè)地區(qū)的網(wǎng)絡(luò)流量。在本發(fā)明一實施例中,所述在Linux中編譯并安裝xtables-addons包之前,所述方法還包括:檢查Linux中iptables的版本;下載與iptables的版本一致的xtables-addons包。在本發(fā)明一實施例中,所述在Linux中編譯并安裝xtables-addons包之前,所述方法還包括:安裝perl-Text-CSV_XS依賴包,以由該依賴包編譯xtables-addons包。在本發(fā)明一實施例中,在安裝GeoIP數(shù)據(jù)庫之前,所述方法還包括:使用xtables-addons目錄下geoip目錄下的腳本xt_geoip_dl來下載GeoIP數(shù)據(jù)庫。在本發(fā)明一實施例中,在安裝GeoIP數(shù)據(jù)庫之前,所述方法還包括:使用xt_geoip_build編譯GeoIP數(shù)據(jù)庫。本發(fā)明還提供一種基于Linux的網(wǎng)絡(luò)流量控制裝置,包括:第一安裝模塊,用于在Linux中編譯并安裝xtables-addons包,其中,所述xtables-addons包是一個代替Linux內(nèi)核和iptables舊的patch-o-matic包;加載模塊,用于在安裝所述xtables-addons包的過程中,由iptables加載xt_geoip模塊;第二安裝模塊,用于安裝GeoIP數(shù)據(jù)庫,所述GeoIP數(shù)據(jù)庫將被xt_geoip模塊用來查詢IP地址與預(yù)設(shè)地區(qū)之間的對應(yīng)關(guān)系;控制模塊,用于基于xt_geoip模塊和GeoIP數(shù)據(jù)庫設(shè)置預(yù)設(shè)地區(qū)的網(wǎng)絡(luò)流量的控制規(guī)則,以控制預(yù)設(shè)地區(qū)的網(wǎng)絡(luò)流量。在本發(fā)明一實施例中,所述裝置還包括:第一下載模塊,用于在所述第一安裝模塊在Linux中編譯并安裝xtables-addons包之前,檢查Linux中iptables的版本;下載與iptables的版本一致的xtables-addons包。在本發(fā)明一實施例中,所述裝置還包括:第三安裝模塊,用于在所述第一安裝模塊在Linux中編譯并安裝xtables-addons包之前,安裝perl-Text-CSV_XS依賴包,以由該依賴包編譯xtables-addons包。在本發(fā)明一實施例中,所述裝置還包括:第二下載模塊,用于在所述第二安裝模塊安裝GeoIP數(shù)據(jù)庫之前,使用xtables-addons目錄下geoip目錄下的腳本xt_geoip_dl來下載GeoIP數(shù)據(jù)庫。在本發(fā)明一實施例中,所述裝置還包括:編譯模塊,用于在所述第二安裝模塊安裝GeoIP數(shù)據(jù)庫之前,使用xt_geoip_build編譯GeoIP數(shù)據(jù)庫。在本發(fā)明實施例中,在Linux中編譯并安裝xtables-addons包,其中,所述xtables-addons包是一個代替Linux內(nèi)核和iptables舊的patch-o-matic包;在安裝所述xtables-addons包的過程中,由iptables加載xt_geoip模塊;安裝GeoIP數(shù)據(jù)庫,所述GeoIP數(shù)據(jù)庫將被xt_geoip模塊用來查詢IP地址與預(yù)設(shè)地區(qū)之間的對應(yīng)關(guān)系;基于xt_geoip模塊和GeoIP數(shù)據(jù)庫設(shè)置預(yù)設(shè)地區(qū)的網(wǎng)絡(luò)流量的控制規(guī)則,以控制預(yù)設(shè)地區(qū)的網(wǎng)絡(luò)流量。由此可見,本發(fā)明實施例能夠?qū)崿F(xiàn)靈活、有效地控制網(wǎng)絡(luò)流量的目的。本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在所寫的說明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。下面通過附圖和實施例,對本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。附圖說明附圖用來提供對本發(fā)明的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實施例一起用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的限制。在附圖中:圖1為本發(fā)明一實施例中基于Linux的網(wǎng)絡(luò)流量控制方法的流程圖;圖2為本發(fā)明另一實施例中基于Linux的網(wǎng)絡(luò)流量控制方法的流程圖;圖3為本發(fā)明一實施例中基于Linux的網(wǎng)絡(luò)流量控制裝置的結(jié)構(gòu)示意圖;圖4為本發(fā)明另一實施例中基于Linux的網(wǎng)絡(luò)流量控制裝置的結(jié)構(gòu)示意圖。具體實施方式以下結(jié)合附圖對本發(fā)明的優(yōu)選實施例進(jìn)行說明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。如圖1所示為本發(fā)明一實施例中基于Linux的網(wǎng)絡(luò)流量控制方法的流程圖,該方法可以包括以下步驟S11-S14。步驟S11,在Linux中編譯并安裝xtables-addons包,其中,該xtables-addons包是一個代替Linux內(nèi)核和iptables舊的patch-o-matic包。在該步驟之前,需要下載xtables-addons包,下載的xtables-addons包的版本需要和iptables的版本一致。因而,需要檢查Linux中iptables的版本,進(jìn)而下載與iptables的版本一致的xtables-addons包。例如,iptables是1.4.7,就需要對應(yīng)在的xtables-addons版本1.4.7,可以參見如下指令:#uname-r2.6.32-358.18.1.el6.x86_64#iptables-Viptablesv1.4.7那么就要下載xtables-addons版本1.4.7。另外,需要關(guān)閉selinux,編輯/etc/selinux/config,修改為disabled,并使其生效:echo0>/selinux/enforce。步驟S12,在安裝xtables-addons包的過程中,由iptables加載xt_geoip模塊。為了編譯xtables-addons,首先需要安裝一些依賴軟件包,如安裝perl-Text-CSV_XS依賴包,以由該依賴包編譯xtables-addons包。例如,在Debian,Ubuntu或LinuxMint中安裝依賴包如下:$sudoapt-getinstalliptables-devxtables-addons-commonlibtext-csv-xs-perlpkg-config。又例如,在CentOS,RHEL或Fedora中安裝依賴包如下:$sudoyuminstallgcc-c++makeautomakekernel-devel-`uname-r`wgetunzipiptables-develperl-Text-CSV_XS。此外,在CentOS或RHEL6中,需要事先設(shè)置好EPEL倉庫。步驟S13,安裝GeoIP數(shù)據(jù)庫,該GeoIP數(shù)據(jù)庫將被xt_geoip模塊用來查詢IP地址與預(yù)設(shè)地區(qū)之間的對應(yīng)關(guān)系。在該步驟之前,可以使用xtables-addons目錄下geoip目錄下的腳本xt_geoip_dl來下載GeoIP數(shù)據(jù)庫:#cdgeoip/#./xt_geoip_dl將會下載GeoIPv6.csv.gz和GeoIPCountryCSV.zip,并解壓縮,得到ip庫文件GeoIPv6.csv和GeoIPCountryWhois.csv,接下來就是使用xt_geoip_build編譯數(shù)據(jù)庫:#mkdir-p/usr/share/xt_geoip/#創(chuàng)建數(shù)據(jù)庫文件默認(rèn)存放位置#./xt_geoip_build-D/usr/share/xt_geoip*.csv#編譯數(shù)據(jù)庫文件完成后,將會生成兩個目錄BE和LE,目錄下保存的文件分別有.iv6和.iv4。步驟S14,基于xt_geoip模塊和GeoIP數(shù)據(jù)庫設(shè)置預(yù)設(shè)地區(qū)的網(wǎng)絡(luò)流量的控制規(guī)則,以控制預(yù)設(shè)地區(qū)的網(wǎng)絡(luò)流量。在該步驟中,用戶需要阻斷網(wǎng)絡(luò)流量的那些國家是使用2個字母的ISO3166代碼來特別指定的,如US(美國)、CN(中國)、IN(印度)、FR(法國),等等。例如,假如用戶需要阻斷來自也門(YE)和贊比亞(ZM)的網(wǎng)絡(luò)流量,下面的iptabels命令便可以達(dá)到此目的:$sudoiptables-IINPUT-mgeoip--src-ccYE,ZM-jDROP又例如,用戶需要阻斷流向中國(CN)的網(wǎng)絡(luò)流量,可以運行下面的命令:$sudoiptables-AOUTPUT-mgeoip--dst-ccCN-jDROP再例如,用戶需要在服務(wù)器上阻斷來自所有非美國的網(wǎng)絡(luò)流量,可以運行:$sudoiptables-IINPUT-mgeoip!--src-ccUS-jDROP在本發(fā)明實施例中,在Linux中編譯并安裝xtables-addons包,其中,所述xtables-addons包是一個代替Linux內(nèi)核和iptables舊的patch-o-matic包;在安裝所述xtables-addons包的過程中,由iptables加載xt_geoip模塊;安裝GeoIP數(shù)據(jù)庫,所述GeoIP數(shù)據(jù)庫將被xt_geoip模塊用來查詢IP地址與預(yù)設(shè)地區(qū)之間的對應(yīng)關(guān)系;基于xt_geoip模塊和GeoIP數(shù)據(jù)庫設(shè)置預(yù)設(shè)地區(qū)的網(wǎng)絡(luò)流量的控制規(guī)則,以控制預(yù)設(shè)地區(qū)的網(wǎng)絡(luò)流量。由此可見,本發(fā)明實施例能夠?qū)崿F(xiàn)靈活、有效地控制網(wǎng)絡(luò)流量的目的。下面通過一具體實施例來詳細(xì)介紹本發(fā)明的基于Linux的網(wǎng)絡(luò)流量控制方法的實現(xiàn)過程。如圖2所示為本發(fā)明另一實施例中基于Linux的網(wǎng)絡(luò)流量控制方法的流程圖,該方法可以包括以下步驟S21-S26。步驟S21,檢查Linux中iptables的版本,進(jìn)而下載與iptables的版本一致的xtables-addons包,該xtables-addons包是一個代替Linux內(nèi)核和iptables舊的patch-o-matic包。例如,iptables是1.4.7,就需要對應(yīng)在的xtables-addons版本1.4.7,可以參見如下指令:#uname-r2.6.32-358.18.1.el6.x86_64#iptables-Viptablesv1.4.7那么就要下載xtables-addons版本1.4.7。另外,需要關(guān)閉selinux,編輯/etc/selinux/config,修改為disabled,并使其生效:echo0>/selinux/enforce。步驟S22,安裝perl-Text-CSV_XS依賴包,以由該依賴包編譯xtables-addons包。為了編譯xtables-addons,首先需要安裝一些依賴軟件包,如安裝perl-Text-CSV_XS依賴包,以由該依賴包編譯xtables-addons包。例如,在Debian,Ubuntu或LinuxMint中安裝依賴包如下:$sudoapt-getinstalliptables-devxtables-addons-commonlibtext-csv-xs-perlpkg-config。又例如,在CentOS,RHEL或Fedora中安裝依賴包如下:$sudoyuminstallgcc-c++makeautomakekernel-devel-`uname-r`wgetunzipiptables-develperl-Text-CSV_XS。此外,在CentOS或RHEL6中,需要事先設(shè)置好EPEL倉庫。步驟S23,在Linux中編譯并安裝xtables-addons包。步驟S24,使用xtables-addons目錄下geoip目錄下的腳本xt_geoip_dl來下載GeoIP數(shù)據(jù)庫,該GeoIP數(shù)據(jù)庫將被xt_geoip模塊用來查詢IP地址與預(yù)設(shè)地區(qū)之間的對應(yīng)關(guān)系。步驟S25,安裝GeoIP數(shù)據(jù)庫。在該步驟中,使用xt_geoip_build編譯數(shù)據(jù)庫:#mkdir-p/usr/share/xt_geoip/#創(chuàng)建數(shù)據(jù)庫文件默認(rèn)存放位置#./xt_geoip_build-D/usr/share/xt_geoip*.csv#編譯數(shù)據(jù)庫文件完成后,將會生成兩個目錄BE和LE,目錄下保存的文件分別有.iv6和.iv4。步驟S26,基于xt_geoip模塊和GeoIP數(shù)據(jù)庫設(shè)置預(yù)設(shè)地區(qū)的網(wǎng)絡(luò)流量的控制規(guī)則,以控制預(yù)設(shè)地區(qū)的網(wǎng)絡(luò)流量。#iptables-IINPUT-mgeoip--src-ccCN-jDROP#注意,這將屏蔽所有端口訪問#iptables-IINPUT-ptcp-mtcp--dport80-mgeoip--src-ccCN-jDROP#只屏蔽80端口訪問此時,中國地區(qū)已經(jīng)無法訪問網(wǎng)站了,可以保存了:serviceiptablessave。本發(fā)明實施例能夠?qū)崿F(xiàn)靈活、有效地控制網(wǎng)絡(luò)流量的目的。需要說明的是,在實際應(yīng)用中,上述所有可選實施方式可以采用結(jié)合的方式任意組合,形成本發(fā)明的可選實施例,在此不再一一贅述。對應(yīng)于上述實施例中的基于Linux的網(wǎng)絡(luò)流量控制方法,本發(fā)明還提供一種基于Linux的網(wǎng)絡(luò)流量控制裝置。如圖3所示為本發(fā)明一實施例中基于Linux的網(wǎng)絡(luò)流量控制裝置的結(jié)構(gòu)示意圖,包括:第一安裝模塊31,用于在Linux中編譯并安裝xtables-addons包,其中,所述xtables-addons包是一個代替Linux內(nèi)核和iptables舊的patch-o-matic包;加載模塊32,用于在安裝所述xtables-addons包的過程中,由iptables加載xt_geoip模塊;第二安裝模塊33,用于安裝GeoIP數(shù)據(jù)庫,所述GeoIP數(shù)據(jù)庫將被xt_geoip模塊用來查詢IP地址與預(yù)設(shè)地區(qū)之間的對應(yīng)關(guān)系;控制模塊34,用于基于xt_geoip模塊和GeoIP數(shù)據(jù)庫設(shè)置預(yù)設(shè)地區(qū)的網(wǎng)絡(luò)流量的控制規(guī)則,以控制預(yù)設(shè)地區(qū)的網(wǎng)絡(luò)流量。在本發(fā)明一實施例中,如圖4所示,上文圖3展示的裝置還可以包括:第一下載模塊41,用于在所述第一安裝模塊31在Linux中編譯并安裝xtables-addons包之前,檢查Linux中iptables的版本;下載與iptables的版本一致的xtables-addons包。在本發(fā)明一實施例中,如圖4所示,上文圖3展示的裝置還可以包括:第三安裝模塊42,用于在所述第一安裝模塊31在Linux中編譯并安裝xtables-addons包之前,安裝perl-Text-CSV_XS依賴包,以由該依賴包編譯xtables-addons包。在本發(fā)明一實施例中,如圖4所示,上文圖3展示的裝置還可以包括:第二下載模塊43,用于在所述第二安裝模塊33安裝GeoIP數(shù)據(jù)庫之前,使用xtables-addons目錄下geoip目錄下的腳本xt_geoip_dl來下載GeoIP數(shù)據(jù)庫。在本發(fā)明一實施例中,如圖4所示,上文圖3展示的裝置還可以包括:編譯模塊44,用于在所述第二安裝模塊33安裝GeoIP數(shù)據(jù)庫之前,使用xt_geoip_build編譯GeoIP數(shù)據(jù)庫。本發(fā)明實施例的上述裝置:在Linux中編譯并安裝xtables-addons包,其中,所述xtables-addons包是一個代替Linux內(nèi)核和iptables舊的patch-o-matic包;在安裝所述xtables-addons包的過程中,由iptables加載xt_geoip模塊;安裝GeoIP數(shù)據(jù)庫,所述GeoIP數(shù)據(jù)庫將被xt_geoip模塊用來查詢IP地址與預(yù)設(shè)地區(qū)之間的對應(yīng)關(guān)系;基于xt_geoip模塊和GeoIP數(shù)據(jù)庫設(shè)置預(yù)設(shè)地區(qū)的網(wǎng)絡(luò)流量的控制規(guī)則,以控制預(yù)設(shè)地區(qū)的網(wǎng)絡(luò)流量。由此可見,本發(fā)明實施例能夠?qū)崿F(xiàn)靈活、有效地控制網(wǎng)絡(luò)流量的目的。本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器和光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。當(dāng)前第1頁1 2 3 當(dāng)前第1頁1 2 3 
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1