網絡小白一個,針對網絡的基礎知識無從下手,因此本文引用了鳥哥私房菜中的眾多概念性知識,在此謝過,本文主要從OSI七層協議,TCP協議和一些網絡中專業詞匯進行解析,并通過子網掩碼的劃分,網絡接口的配置、路由配置等實例來加深對網絡的理解。
一、OSI七層協議:
OSI七層協議的由來:
由于網絡鏈接過程相當復雜,包括硬件數據封裝與應用程序的相互鏈接等, 如果想要寫一個網絡鏈接的全部功能都集中在一起的程序,那么任何一個環節出錯,整個程序都要改寫,非常麻煩,因此我們將整個網絡鏈接過程分成多個層次來處理,且每層數據傳遞是順序傳遞的,這就是OSI七層協議。
七層協議的特點:
每個層次都有特定獨立的功能
每個層次的代碼可以獨立編寫
層與層之間的功能互不干擾
每一層次只認識對方同一層的數據
在七層協議中,每層都會有自己獨特的頭部數據(header):告知對方這里面的信息是什么,而真正的數據在后面
下面來詳細介紹七層協議中每一層的含義:
Layer1 物理層:由于網絡傳輸介質傳輸的是比特位(01),因此物理層必須定義所使用的傳輸設備的電壓和信號等,同時還必須了解數據幀轉換成比特流的編碼方式,最后鏈接實際傳輸介質并發送/接收比特信號。
Layer2 數據鏈路層:硬件部分,主要處理MAC數據幀,傳遞給物理層轉換成比特流;軟件部分主要處理來自上層的數據表轉換成MAC的格式。相關協議:PPP
Layer3 網絡層:定義IP地址,定義計算機之間的鏈接建立,終止維護等,數據包的傳輸路徑選擇等。相關協議:IP、ICMP、ARP、RARP
Layer4 傳輸層:定義發送端與接收端的鏈接技術(TCP,UDP),同時包括該技術的數據包格式,數據包的發送,流程的控制等,以確保各個資料數據可以正確無誤的到達目的端。相關協議:TCP、UDP
Layer5 會話層:確定網絡服務建立鏈接的確認。
Layer6 表示層:定義網絡服務(或程序)之間的數據格式的轉換,使數據格式標準化,也包括數據的加密解密也是在這層上處理
Layer7 應用層:將數據發送給應用程序,并最終展示給用戶。相關協議:HTTP、FTP、SMIP等
二、TCP/IP及其他協議
雖然OSI七層協議的架構非常嚴謹,但是由于太過嚴謹導致程序編寫相當不容易,因此產生了TCP/IP協議。
TCP/IP的網絡接口層的相關協議
廣域網使用的設備
傳統電話撥號鏈接:通過PPP協議
整合服務數字網絡(ISDN)
非對稱數字用戶環路(ADSl):使用PPPoE協議
電纜調制解調器(Cable Modem)
局域網使用的設備—以太網
CAT5等級的網線大概可以支持100米的長度
以太網的網絡接頭:分為交叉和直連RJ-45,又因為每條芯線的對應不同,而分為568A和568B接頭,這兩款芯線內部的順序為:
事實上,雖然目前的以太網線有8芯且兩兩成對,但實際使用只有1、2、3、6芯而已,其他的則時某些特殊用途的場合才會使用,但是由于主機與主機鏈接以及主機與集線器鏈接時,所使用的網線線序定義并不相同,因此有由于接頭的行不同網線有可分為兩種:
交叉線:一邊為568A一邊為568B的接頭時稱為交叉線,用在直接鏈接兩臺主機的網卡。
直連線:兩邊接頭同為568A或568B時稱為直連線,用在鏈接主機網卡與集線器之間的線纜。
以太網的傳輸協議:CSMA/CD
帶沖突檢測的載波偵聽多路訪問的數據傳輸的工作方式,其工作原理為:檢測線路是否空閑,空閑則發包,并且邊發邊檢測偵聽,一旦沖突就立即停止發送,只要符合CSMA/CD機制的網絡就稱為以太網。
交換機可以有效的避免沖突,交換機可以自動選擇路線,,每一個端口就是一個沖突域,且每個端口有收發兩根線實現全雙工功能,交換機可以鏈接多個不同的多個沖突域,路由器可以鏈接多個不同的廣播域。
MAC的封裝格式
數據鏈路層的工作是基于MAC地址工作的,CSMA/CD發送出去的數據幀就是MAC,該數據幀上面存儲了兩個非常重要的數據,就是目標與來源的網卡卡號,因此我們又稱網卡卡號為MaC地址。下圖中目的地址和來源地址就指的網卡卡號。
MTU
以太網中數據幀能夠存儲數據的最大單位,標準定義為1500bytes,這就時MUT的最大傳輸單元。(IP數據包最大可達到65535bytes),可以增大MTU來提高網絡使用率,但是無法確認所有網絡設備都支持更大的MTU,如果不支持則可能導致數據包丟失等問題。所以MTU設定9000bytes可以設置在內部網絡的環境中部署,外網還是應該保持原有的1500標準。
集線器、交換器與相關機制
集線器(hub):Hub并不記憶該信息包是由哪個MAC地址發出,哪個MAC地址在Hub的哪個端口,且每個端口共享帶寬,半雙工工作機制,因為CSMA/CD的緣故,在很忙的網絡環境中,集線器(Hub)這個網絡共享設備就可能發生沖突的情況。工作與物理層。
交換機:在交換機內部有一個特別的內存,這個內存可以記錄每個Switch port與其鏈接的PC的MAC地址,所以當來自Switch兩端的PC要相互傳輸時,每個數據幀將通過交換機內存數據而傳送到目標主機上,且每個端口有獨立的帶寬,全雙工工作機制,工作于數據鏈路層,如果是三層交換機(具有路由功能),則工作于網絡層。
TCP/IP的網絡層相關數據包與數據
IP數據包的封裝
了解IP數據包的封裝,才能知道IP到底時如何產生的,IP數據包可達到65536bytes
Ver:聲明這個IP數據包的版本
IHL:數據包的包頭長度,4個字節一個單位
Service:服務類型
PPP:表示IP數據包的優先級,很少使用;
D:若為0表示一般延遲,若為1表示為低延遲;
T:若為0表示一般傳輸量,若為1表示高傳輸量;
R:若為0表示為一般可靠度,若為1表示高可靠度。
Packet Length:IP總長度,包括包頭和數據部分,最大可達到65535bytes
Identification:識別碼,上面介紹過幀的默認最大傳輸單元為1500bytes,而IP包最大可以到65536bytes,那么要想將IP包封裝到數據幀中就必須將其分割成更小的IP包,那個這個識別碼就是用于識別這此小的IP分段是否來自同一個IP包。
Flag:D:若為0表示可以分段,若為1表示不可分段;
M:若為0表示此IP為最后分段,若為1表示非最后分段。
Frag Offset:表示目前這個IP分段在原始的IP包中所處的位置,相當于這個IP分段的序號。通過包的總長度、識別碼、特殊標志、分段偏移就可以將小的IP分段在接收端組合成完整的IP數據包。
Time to Live:范圍0-255。當數據包通過一個路由器時就會減1,當TTL為0時數據包被丟棄,linux中 可通過修改 /etc/sys/net/ipv4/ip_default_ttl來設置ttl的大小,默認64 windows 128
Protocol:記錄來自傳輸層和網絡層本身的協議信息。常見代碼如下:
1:ICMP
4:IP
6:TCP
17:UDP
Header Checksum(報頭校驗碼):用于檢查IP報頭是否存在錯誤。
Source Address(源IP地址):發送端的IP地址。
Destination Address(目標IP地址):接收端的IP地址。
Options(其它參數):包括安全處理機制、路由記錄、時間戳等
ICMP協議:因特網信息控制協議
ping與traceroute就是利用ICMP來檢驗網絡的狀態的。—–探測網絡狀態的
禁用ping命令:root@cenots6.8 ~ # cat /proc/sys/net/ipv4/icmp_echo_ignore_all
0 —–將該位置為1
啟用ping廣播地址root@cenots6.8 ~ # cat /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
1 ——–將該為置為0 可用于探測網絡中有哪些主機啟動,哪些主機處于關機狀態
補腦:Dos 攻擊 Ping –f 10.1.250.95 –s 65507泛洪 發送大量數據包給該ip,查看網卡利用率會很高,DDOS 成千上萬臺計算機給指定計算機發送大量數據包
ARP網絡地址解析協議
RARP反向網絡地址解析協議
當我們想要了解某個IP配置于哪張以太網卡上面,我們主機會對整個局域網發送出ARP數據包,對方接收到ARP數據包后就會返回他們的MAC給我們,知道對方的網卡地址后就可以傳遞數據了,當ARP協議取得目標IP與它的網卡卡號后,就會將其記錄到ARPtable(內存中)中記錄20分鐘,linux中對應命令 arp –n.
TCP/IP的傳輸層相關數據包與數據
面向鏈接的可靠的TCP協議
在網絡的IP之上是傳輸層,在傳輸層數據被打包層TCP數據包。
源端口:端口是用來標記應用程序的,源端口是連接發起端使用的端口,通常為隨機端口。
目的端口:常用的應用都會規定有固定的端口號,如http使用80端口,ssh使用22端口。
順序號:當IP包過太時,需要對包進行分段。順序號就是記錄每個數據包的順序,以方便接收端將包重新組合。
確認號:當接收端收到數據包后會向發送端發送確認號,告訴發送端數據包被正確傳遞。
TCP頭長:用于調整整個TCP數據包的大小,說明整個數據包字段的起始位置。
控制標志碼:
URG:為1代碼為緊急數據包,接收端應緊急處理。
ACK:為1代表這人數據包為響應數據包。
PSH:為1代表要求對方立即傳送緩沖區的其他對應數據包,而無須等待緩沖區滿了才送。
RST:為1代表連接會被馬上結束,強制結束連接。
SYN:為1代表發送端希望雙方建立同步連接,表示主動連接對方。
FIN:為1代表傳送結束。
窗口大小:用于控制數據包流量,表示緩沖區是否還可以接收數據,為0表示無法接收數據。
校驗和:發送端首先會計算一個檢驗碼,接收端收到數據包后會再次計算這個值,如果兩個值相符合就接受數據包,否則就認為此數據包已損壞。
緊急指針:URG為1時才有作用,告知緊急數據所在的位置。
可選項:表示接收端可以接收的最大數據段容量。為1代表連接會被馬上結束,強制結束連接。
TCP的三次握手
A:數據包發起。
發起端隨機使用一個大于1024的端口發起請求,在TCP報頭中標記SYN為1。
B:數據包接收并確認。
接收端收到數據包后,回自復一個帶有SYN=1,ACK=1的數據包,告訴發送方已接收到數據包,并等發起端的回復。
C:回復確認數據包。
發起端收到確認數據包后再次發送一個確認數據包(ACK=1),告訴接收端可以建立連接。
D:建立連接。
接收端收到ACK=1的確認數據包后,就可以建立起連接了
無連接的UDP協議
UDP全程的全程是用戶數數據報協議,UDP與TCP不一樣,UDP不提供可靠的傳輸模式,因為它不是面向鏈接的機制,這是因為UDP傳送過程中,接收端在接收到數據包之后,不會回復相應數據包給發送端,所以數據包并沒有像TCP數據包有嚴謹的檢查機制。(一直在發送信息,你有沒收到我不知道,我也不等待你給我回應,我就是一直發)
三、IP的組成與分級
IP地址:它可以唯一表示IP網絡中的每臺設備,每臺主機(計算機、網絡設備、外圍設備)必須有唯一的地址。
Net_ID與Host_ID
在同一網段內,Net_Id是不變的,而Host_ID是不可重復的,此外,Host_ID在二進制的表示法中,可以同時為0,也不可同時為1,例如:192.168.0.0/255.255.255.0就是屬于網絡地址,192.168.0.255/255.255.255.0 就屬于廣播地址
Host_ID同時為0表示網絡地址(Network_IP)
Net_ID同時為1表示廣播地址(BroadcastIP)
在局域網內通過IP廣播傳遞數據
在相同物理網段的主機如果使用相同的網絡IP范圍,則這些主機都可以通過CSMA/CD的功能直接在局域網內用廣播進行網絡的鏈接,即直接通過MAC數據來進行數據傳遞
IP的分級
IP的種類與取得方式
在IPV4中兩種IP類別:
Public IP:公共IP,經由InterNIC統一規劃的IP,只有這種IP才可鏈接到Internet
Private IP:私有IP或保留IP,不能直接連上Internet的IP,主要用于局域網絡內的主機鏈接規劃
私有IP網段:
Class A:10.0.0.0/8~10.255.255.255/8
Class B:172.16.0.0/16~172.31.255.255/16 CIDR格式:172.16.0.0/12
Class C:192.168.0.0/24~192.168.255.255/24 CIDR格式:192.168.0.0/16
由于這三段Class的IP是預留使用的,所以并不能直接作為Internet上面的連接使用,否則會導致到處都有相同的IP。
Netmask、子網與CIDR
Netmask:子網掩碼
將Net_ID處全部標記為1,Host_ID處全部標記為0就可計算出netmask的值。–與ip地址相與得到網絡地址。
劃分子網:一個大網絡分成若干個子網
網絡ID向主機ID借位n位n,子網數為2^n,
損失IP數=(2^n-1)*2
劃分超網:合并多個小的子網成一個大的超網
主機ID向網絡位ID借位,劃分超網時,需要注意不網絡的范圍,如果合并范圍包含其他公司的網絡則不能劃分。
應用舉例:
1、某公司申請到一個C 類IP 地址,但要連接6 個的子公司,最大的一個子公司有26 臺計算機,每個子公司在一個網段中,則子網掩碼應設為?
分析:由于6個子公司,每個子公司要在一個單獨的網段中,因此至少需要2^n>=6,因此能夠得到n=3,最大主機數2^(8-3)-2=30個網絡,滿足大于等于26的需求
192.168.0.000 00001
192.168.0.000 11110
…….
192.168.0.101 00001
192.168.0.101 11110 第6個網絡的地址
因此能夠得到:
192.168.0.1/27 – 192.168.0.161/27 第一網絡的地址及范圍
…….
192.168.0.1/27 – 192.168.0.190/27 第六個網絡的地址及范圍
2、一家集團公司有12家子公司,每家子公司又有4個部門。上級給出一個172.16.0.0/16的網段,讓給每家子公司以及子公司的部門分配網段。
分析:因為有12個子公司,因此至少要劃分2^n>=12個子網,因此能夠得到n=4,因此需要向主機位借4個,能夠劃分16個子網,但是只用12個,剩余4個閑置,因此劃分后得到:
172.16.0.0/16劃分16個子網
172.16.0000 0000.00000001 ——— 172.16.0.1/20
172.16.0000.1111.11111110 ——— 172.16.15.254/20 第一個網絡的地址及范圍
………
172.16.1011 0000.00000001 ——— 172.16.176.1/20
172.16.1011 1111.11111110 ——— 172.16.191.254/20 第十二個網絡地址及范圍
………
172.16.1111 0000.00000001 ——— 172.16.240.1/20
172.16.1111 1111.11111110 ——— 172.16.255.254/20 最后一個網絡地址及范圍
又因為每個公司又有4個部分,因為要在12個子網的基礎上再次劃分子網,所以還需要在向主機位借2位即可, 下面以第一個子公司劃分為4個子網為例,因此又能夠得到:
172.16.0000 00 00.00000001 ——— 172.16.0.1/22
172.16.0000 00 00.11111110 ——— 172.16.0.254/22 第一個網絡地址及范圍
………
172.16.0000 11 00.00000001 ——— 172.16.12.1/20
172.16.0000 11 00.11111110 ——— 172.16.12.254/20 第四個網絡地址及范圍
特殊地址:
0.0.0.0:不是一個真正意義上的IP地址。它表示一個集合:所有不清楚的主機和目的網絡。
255.255.255.255:限制廣播地址。對本機來說,這個地址指本網段內(同一廣播域)的所有主機
127.0.0.1~127.255.255.254:本機回環地址,主要用于測試。在傳輸介質上永遠不應該出現目的地址為“ 127.0.0.1”的 數據包。
224.0.0.0到239.255.255.255:組播地址, 224.0.0.1特指所有主機, 224.0.0.2特指所有路由器。
224.0.0.5:指OSPF 路由器,地址多用于一些特定的程序以及多媒體程序
169.254.x.x:如果Windows主機使用了DHCP自動分配IP地址,而又無法從DHCP服務器獲取地址,系統會為主機分配這樣地址。
四、路由
路由的功能:跨網絡通信時選擇傳輸路徑。
路由的分類:
主機路由:目標地址為單個IP
網絡路由:目標地址為IP網絡
默認路由:目標為任意主機 0.0.0.0/0.0.0.0.0
接口:自己路由器上面一個能夠指向目標地址的端口
root@cenots6.8 ~ # dmesg | grep -i eth 查看網卡驅動模塊信息
e1000 0000:02:01.0: eth0: (PCI:66MHz:32-bit) 00:0c:29:c4:17:61
e1000 0000:02:01.0: eth0: Intel(R) PRO/1000 Network Connection
root@cenots6.8 ~ # rmod e1000 或modprobe -r e1000
root@cenots6.8 ~ # lsmod |grep e1000 查看模塊信息
root@cenots6.8 ~ # modprobe e1000 在把模塊加載回來
網關:指向目標地址的下一個路由器的臨近接口,這里需要注意的是主機與你的主機配置的gateway一定要在同一網段內。
DNS:將主機名解析為IP地址
配置文件:/etc/resolv.conf
本地dns數據庫:/etc/hosts里面可以自行指定ip地址和主機名,且主機名可以有多個別名,然后ping主機名就可以看到對應的ip地址
將主機名解析為ip地址
dig -t A www.magedu.com((dig 測試時,是不會查看/etc/hosts的,而是通過DNS服務器查看的)
dig-t A FQDN 解析主機名為ip
FQDN–> IP
dig -x IP 解析ip為主機名 但是互聯網上面大多數服務器都不支持反解
DNS服務器地址:
114.114.114.114(china)
8.8.8.8(谷歌)
網絡配置文件:/etc/sysconfig/network-scripts/ifcfg-接口名稱
DEVICE=接口名稱 定義接口名稱:/etc/udev/rules.d/70-persistent-net.rules 需要注意的是兩個文件中接口名稱必須一致,否則會報錯
TYPE=Ethernet
UUID:設備唯一標識
ONBOOT:是否開機自動連接
NM_CONTORLLED=yes 是否接受NetworkManager控制 service NetworkManager status ,該服務在centos6 中不穩定,建議no
BOOTPROTO=static none dhcp 或者把這行干掉直接寫IPADDR
IPADDR=ipv4地址
NETMASK=子網掩碼
PREFIX=子網掩碼的簡單格式
GATEWAY=網關
DNS1=8.8.8.8(谷歌的網關)
DNS2=114.114.114.114(中國的網關) 網關可以加三個
DNS3=8.8.4.4(谷歌的)
HWADDR=網卡地址 如果要改mac地址需要用MACADDR名字
PEERDNS=yes 如果BOOTPROTO的值為“ dhcp”,是否允許dhcp server分配的dns服務器指向信息直接覆蓋至
ONPARENT=yes 物理網卡啟動就啟動別名
最省略寫法:2行
DEVICE=eth1
BOOTPROTO=dhcp
靜態配置IP地址:
DEVICE=eth1
IPADDR=10.1.1.1
PREFIX=16
GATEWAY=10.1.1.254
DNS1=8.8.8.8
注意:配置完成后要重新啟動服務 service network restart
網絡接口設備別名:為每個設備別名生成獨立的接口配置文件,在啟用之前首先要關閉NetworkManager服務,且必須使用靜態IP。
service NetworkManager stop(臨時關閉)/chkconfig NetworkManager off(下次開機時關閉)
網絡接口配置bonding:
將多塊網卡綁定同一個IP地址對外提供服務,可以實現高可用和負載均衡,直接給兩塊網卡綁定一個IP是不可能的,通過bonding虛擬一塊網卡對外提供鏈接,但是需要兩塊網卡修改為同一個MAC地址。
bonding的工作模式:
Mode 0 (balance-rr) 輪詢模式
輪轉( Round-robin)策略:從頭到尾順序的在每一個slave
接口上面發送數據包。本模式提供負載均衡和容錯的能力
——輪流的往網卡上面發數據包,兩個網卡都走數據,第一個用戶來了請求第一個快網卡,第二個用戶來了請求第二塊網卡,如果二塊網卡壞了,來了第一個用戶,第一個網卡,來了第二個就可能走第二塊網卡,因此能夠實現均勻負載,但容錯能力較差。
Mode 1 (active-backup)
活動-備份(主備)策略:在綁定中,只有一個slave被激活。
當且僅當活動的slave接口失敗時才會激活其他slave。為了避免交換機發生混亂此時綁定的MAC地址只有一個外部端口上可見
—–主備模式,兩塊網卡,默認第二塊是不工作的,只有第一塊網卡壞了才工作,性能不好,有容錯性
Mode 3 (broadcast)
廣播策略:在所有的slave接口上傳送所有的報文。本模式提供容錯能力。
配置方法:
root@cenots6.8 /etc/sysconfig/network-scripts # cat ifcfg-eth1 ifcfg-eth2
DEVICE=eth1
SLAVE=yes
MASTER=bond0
DEVICE=eth2
SLAVE=yes
MASTER=bond0
root@cenots6.8 /etc/sysconfig/network-scripts # cat ifcfg-bond0
DEVICE=bond0
IPADDR=192.168.1.105
PREFIX=24
GATEWAY=192.168.1.1
DNS1=8.8.8.8
BONDING_OPTS="miimon=100 mode=1"
miimon:是用來進行鏈路監測的。如果miimon=100,那么系統每100ms 監測一次鏈路連接狀態,如果有一條線路不通就轉入另一條線路
cat /proc/net/bonding/bond0 可以查看綁定信息
如需卸載:先ifconfig bond0 down 然后rmmod bonding 卸載掉該模塊
實驗時,IP地址可以配置與自己windows中的IP在一個網段,在虛擬機圖形界面右下角,網卡圖標點擊斷開連接進行測試,在windows界面ping配置的IP地址即可。
路由功能實例:現有路由R1和R2,R1有兩個接口分別是R1-0和R1-1,R1-0鏈接網絡192.168.0.1/24,R1-1連接網絡10.0.0.1/8 且與路由R2路由的R2-1接口相連,R2-1的接口地址為10.0.0.2/8,R2-0的接口連接網絡172.16.0,1/16.
因此可以得到
R1的路由表為:
網絡地址 接口 網關
172.16.0.0/16 R1-1 10.0.0.2 注意在添加路由表的時候不用添加相鄰網段的,加不相鄰的就可以,因此 配置路由表示 添加此網絡即可
192.168.0.0/24 R1-0 192.168.0.1
10.0.0.0/8 R1-1 10.0.0.1
R2的路由表
網絡地址 接口 網關
192.168.0.0/24 R2-1 10.0.0.1 注意在添加路由表的時候不用添加相鄰網段的,加不相鄰的就可以,因此 配置路由表示 添加此網絡即可
10.0.0.0/8 R2-1 10.0.0.2
172.16.0.0/16 R2-0 172.16.0.1
模擬實例:分別用兩個centos6虛擬機,模仿兩個路由,每個虛擬機要用有兩個虛擬網卡,模擬兩個接口,具體設置如下:
R1的網卡中的配置文件:
ifcfg-eth0
DEVICE=eth0
IPADDR=192.168.0.1
PREFIX=24
ifcfg-eth1
DEVICE=eth1
IPADDR=10.0.0.1
PREFIX=8
配置完成后重啟網絡服務: service network restart 該步一定要放在route add 之前,否則route add添加的內容會被刷掉
route add -net 172.16.0.0/16 gw 10.0.0.2 dev eth1
配置完成后截圖如下:
當做路由器使用必須要啟用:echo 1 > /proc/sys/net/ipv4/ip_forward 啟用路由轉發功能
關閉防火墻:iptables -F
R2的網卡中的配置文件:
ifcfg-eth0
DEVICE=eth16777736
IPADDR=172.16.0.1
PREFIX=16
ifcfg-eth1
DEVICE=eth33554984
IPADDR=10.0.0.2
PREFIX=8
配置完成后重啟網絡服務: service network restart
route add -net 192.168.0.0/24 gw 10.0.0.1 dev eth33554984
配置完成后截圖如下:
當做路由器使用必須要啟用:echo 1 > /proc/sys/net/ipv4/ip_forward 啟用路由轉發功能
關閉防火墻:iptables -F
找兩個主機分別配置 192.168.0.100/24 gw 192.168.1.1
172.16.0.100/16 gw 172.16.0.1
兩個主機相互ping對方主機地址 根據ttl 經過路由的狀態,查看工作是否正常。
也可以根據tracert 172.16.0.100 查看跳數
注意:echo 1 > /proc/sys/net/ipv4/ip_ipforward 由于是內核文件存不住盤,因此可以修改/etc/sysctl.conf 使其永久有效,sysctl -p 重新讀改過的文件
原創文章,作者:Naruto,如若轉載,請注明出處:http://www.www58058.com/43559