[轉]網絡基本功(13):細說Linux網絡配置(下)

網絡基本功(十三):細說Linux網絡配置(下)

本文由Zhang_Jiawen發表於Dell Technology"網絡基本功"

如有侵犯版權,還請這位頭像萌萌的大姐姐前輩聯繫我商討刪帖,道歉,賠償,下跪等事宜.

Linux網絡硬件選項

ethtool命令查詢並設置網絡接口關於媒體相關的參數。如:鏈路速度和雙工。它代替了以前的mii-tool命令,但有些系統中兩者並存。

只要簡單加上接口名就可以查詢它的狀態。例如,eth0接口(PC主板的網卡接口)啓動了自協商並且運行於全速率:

Image
Image

將該接口鎖定在100 Mb/s全雙工,使用以下命令: ethtool -s eth0 speed 100 duplex full 如果想知道自協商在系統中是否可靠,也可以使用ethtool –r命令,可使鏈路參數立刻重新協商。

另一個有用的選項是-k,顯示哪些協議相關任務指定給網絡接口,而不是由內核執行。大多數接口能夠計算校驗和(checksum),一些也可以輔助分段任務。可以通過ethtool –K命令結合多個子選項開啓或禁用特定類型的offloading(-k顯示當前值,-K對其進行設置)。

通過ethtool所做的變更是暫時的。如果希望永久性更改,需要確保ethtool作爲系統網絡配置的一部分來運行。最好是把它作爲各個接口配置的一部分,如果你只是在啓動時運行一些ethtool命令,那麼在接口重啓而系統未重啓時配置就無法正確生效。

注:Red Hat系統中,可以在/etc/sysconfig/network-scripts. ifup下的配置文件中添加一行ETHTOOL_OPTS=,以將整行作爲參數傳遞給ethtool。 SUSE中ethtool的用法與Red Hat相似,但是選項名爲ETHTOOL_OPTIONS,配置文件保存在/etc/sysconfig/network。 Ubuntu系統中,可以在 /etc/network/interfaces的接口配置腳本中運行ethtool命令。

Linux TCP/IP選項

Linux將每個可調內核變量放在/proc虛擬文件系統中。網絡變量位於/proc/sys/net/ipv4。以下是一些重要變量的列表:

Image
Image

許多名字中含有rate和max的變量用作阻止服務器攻擊。子目錄conf包含按照各接口設置的變量,包括all和default以及各接口子目錄(包括loopback)。各子目錄包含相同的一組文件。

Image
Image

假設用戶在conf/eth0子目錄中更改了一個變量,則變更僅適用於該接口。如果在conf/all中更改了變量值,你也許認爲更改適用於所有接口,但實際上並非如此。每一個變量對於接收通過all所作的更改有各自的規則。有些是與當前值做或運算,有些是做與運算,還有些是取最大或最小值。除了內核代碼以外沒有文檔詳細說明這一過程,因此最好避免這樣做,比較好的做法是對各接口分別做修改。

如果用戶在conf/default中修改了變量,新的值會傳遞到所有在這之後配置的接口。另一方面,最好保持默認值不變,以供取消更改時參考。

/proc/sys/net/ipv4/neigh目錄同樣包含了各接口子目錄。子目錄中的文件掌控相應接口的ARP table管理以及IPv6鄰居發現。以下是變量列表,以gc(代表垃圾回收)開頭的變量決定ARP table表項超時以及丟棄。

Image
Image

要查看變量值,使用cat命令,要進行設置,使用echo重定向到合適的文件名。例如:

ubuntu$ cat icmp_echo_ignore_broadcasts0 顯示當變量值爲0時,則廣播ping不能被忽略。要將它設置爲1,在 /proc/sys/net 中,運行 ubuntu$ sudo sh -c "echo 1 > icmp_echo_ignore_broadcasts" 通常,你登錄的網絡與調整的網絡是同一個,所以要小心行事。在更改生產設備配置前務必在臺式機上測試。 要永久更改某參數(更準確的說,系統每次啓動時都重置該值),在/etc/sysctl.conf中添加合適的變量,這些變量在啓動時由sysctl命令讀取。 文件sysctl.conf的格式是變量名=值,而不是手動在shell中修改的格式echo value > variable。變量名是相對於/proc/sys的路徑,可以用點或斜槓。例如:/etc/sysctl.conf 文件中, net.ipv4.ip_forward=0 net/ipv4/ip_forward=0 都會將主機IP轉發關閉。

同時,內核源版本中的 ip-sysctl.txt文件也有一些比較好的註釋信息。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章