A. 如何提高linux系統網速
學校一個電子教室通過ADSL寬頻「貓」上網,系統為RedHat 9.0,但在上網時有些網頁打不開,而且網速不快。有同事告訴筆者,說這跟MTU值有關系,將它修改到適當的值即可。在Windows下可以通過修改注冊表來修改MTU值,可在Linux下面又該如何做呢?通過查閱一些資料,筆者終於解決了這個問題,其實只需要一個簡單的命令即可:
# ifconfig eth0 mtu number
其中「number」為MTU的數值。修改完成後,可以用「ifconfig」命令來查看修改的結果。也可以通過一些網站來測試網速,進一步通過修改MTU值使網速達到最佳。為了不必每次都修改,我們可以在配置文件中修改,如:
# vi /etc/sysconfig/network-scripts/ifcfg-eth0MTU=1000
這樣Linux的靈活性又一次得到了體現。
小知識:MTU的英文全稱為Maximum Transmission Unit,意為最大傳輸單位,也就是在連接的時候,所傳輸信息包最多可以有多少位元組。MTU決定著信息包的大小,如果信息包太小,同樣大小的數據就會分成很多個包傳輸,計算機不得不頻繁地作出響應;如果信息包太大則會產生錯誤,導致傳輸失敗。
B. 如何測試區域網最大傳輸單元MTU
在本機打開dos窗口,執行: ping -f -l 1472 192.168.0.1 進行測試。
C. linux 測試主機是否有可能未全速運行的網路介面
linux一般使用ifconfig命令修改linux主機的ip、網關或子網掩碼。
1.命令格式:
ifconfig [網路設備] [參數]
2.命令功能:
ifconfig 命令用來查看和配置網路設備。當網路環境發生改變時可通過此命令對網路進行相應的配置。
3.命令參數:
up 啟動指定網路設備/網卡。
down 關閉指定網路設備/網卡。該參數可以有效地阻止通過指定介面的IP信息流,如果想永久地關閉一個介面,我們還需要從核心路由表中將該介面的路由信息全部刪除。
arp 設置指定網卡是否支持ARP協議。
-promisc 設置是否支持網卡的promiscuous模式,如果選擇此參數,網卡將接收網路中發給它所有的數據包
-allmulti 設置是否支持多播模式,如果選擇此參數,網卡將接收網路中所有的多播數據包
-a 顯示全部介面信息
-s 顯示摘要信息(類似於 netstat -i)
add 給指定網卡配置IPv6地址
del 刪除指定網卡的IPv6地址
配置網卡最大的傳輸單元
mtu 設置網卡的最大傳輸單元 (bytes)
netmask 設置網卡的子網掩碼。掩碼可以是有前綴0x的32位十六進制數,也可以是用點分開的4個十進制數。如果不打算將網路分成子網,可以不管這一選項;如果要使用子網,那麼請記住,網路中每一個系統必須有相同子網掩碼。
tunel 建立隧道
dstaddr 設定一個遠端地址,建立點對點通信
-broadcast 為指定網卡設置廣播協議
-pointtopoint 為網卡設置點對點通訊協議
multicast 為網卡設置組播標志
address 為網卡設置IPv4地址
txqueuelen 為網卡設置傳輸列隊的長度
4.使用實例:
實例1:顯示網路設備信息(激活狀態的)
命令:
ifconfig
輸出:
[root@localhost ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:56:BF:26:20
inet addr:192.168.120.204 Bcast:192.168.120.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8700857 errors:0 dropped:0 overruns:0 frame:0
TX packets:31533 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:596390239 (568.7 MiB) TX bytes:2886956 (2.7 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:68 errors:0 dropped:0 overruns:0 frame:0
TX packets:68 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2856 (2.7 KiB) TX bytes:2856 (2.7 KiB)
說明:
eth0 表示第一塊網卡, 其中 HWaddr 表示網卡的物理地址,可以看到目前這個網卡的物理地址(MAC地址)是 00:50:56:BF:26:20
inet addr 用來表示網卡的IP地址,此網卡的 IP地址是 192.168.120.204,廣播地址, Bcast:192.168.120.255,掩碼地址Mask:255.255.255.0
lo 是表示主機的回壞地址,這個一般是用來測試一個網路程序,但又不想讓區域網或外網的用戶能夠查看,只能在此台主機上運行和查看所用的網路介面。比如把 HTTPD伺服器的指定到回壞地址,在瀏覽器輸入 127.0.0.1 就能看到你所架WEB網站了。但只是您能看得到,區域網的其它主機或用戶無從知道。
第一行:連接類型:Ethernet(乙太網)HWaddr(硬體mac地址)
第二行:網卡的IP地址、子網、掩碼
第三行:UP(代表網卡開啟狀態)RUNNING(代表網卡的網線被接上)MULTICAST(支持組播)MTU:1500(最大傳輸單元):1500位元組
第四、五行:接收、發送數據包情況統計
第七行:接收、發送數據位元組數統計信息。
實例2:啟動關閉指定網卡
命令:
ifconfig eth0 up
ifconfig eth0 down
輸出:
說明:
ifconfig eth0 up 為啟動網卡eth0 ;ifconfig eth0 down 為關閉網卡eth0。ssh登陸linux伺服器操作要小心,關閉了就不能開啟了,除非你有多網卡。
實例3:為網卡配置和刪除IPv6地址
命令:
ifconfig eth0 add 33ffe:3240:800:1005::2/64
ifconfig eth0 del 33ffe:3240:800:1005::2/64
輸出:
說明:
ifconfig eth0 add 33ffe:3240:800:1005::2/64 為網卡eth0配置IPv6地址;
ifconfig eth0 add 33ffe:3240:800:1005::2/64 為網卡eth0刪除IPv6地址;
練習的時候,ssh登陸linux伺服器操作要小心,關閉了就不能開啟了,除非你有多網卡。
實例4:用ifconfig修改MAC地址
命令:
ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE
輸出:
[root@localhost ~]# ifconfig eth0 down //關閉網卡
[root@localhost ~]# ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE //修改MAC地址
[root@localhost ~]# ifconfig eth0 up //啟動網卡
[root@localhost ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:AA:BB:CC:DD:EE
inet addr:192.168.120.204 Bcast:192.168.120.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8700857 errors:0 dropped:0 overruns:0 frame:0
TX packets:31533 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:596390239 (568.7 MiB) TX bytes:2886956 (2.7 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:68 errors:0 dropped:0 overruns:0 frame:0
TX packets:68 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2856 (2.7 KiB) TX bytes:2856 (2.7 KiB)
[root@localhost ~]# ifconfig eth0 hw ether 00:50:56:BF:26:20 //關閉網卡並修改MAC地址
[root@localhost ~]# ifconfig eth0 up //啟動網卡
[root@localhost ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:56:BF:26:20
inet addr:192.168.120.204 Bcast:192.168.120.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8700857 errors:0 dropped:0 overruns:0 frame:0
TX packets:31533 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:596390239 (568.7 MiB) TX bytes:2886956 (2.7 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:68 errors:0 dropped:0 overruns:0 frame:0
TX packets:68 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2856 (2.7 KiB) TX bytes:2856 (2.7 KiB)
說明:
實例5:配置IP地址
命令:
輸出:
[root@localhost ~]# ifconfig eth0 192.168.120.56
[root@localhost ~]# ifconfig eth0 192.168.120.56 netmask 255.255.255.0
[root@localhost ~]# ifconfig eth0 192.168.120.56 netmask 255.255.255.0 broadcast 192.168.120.255
說明:
ifconfig eth0 192.168.120.56
給eth0網卡配置IP地:192.168.120.56
ifconfig eth0 192.168.120.56 netmask 255.255.255.0
給eth0網卡配置IP地址:192.168.120.56 ,並加上子掩碼:255.255.255.0
ifconfig eth0 192.168.120.56 netmask 255.255.255.0 broadcast 192.168.120.255
/給eth0網卡配置IP地址:192.168.120.56,加上子掩碼:255.255.255.0,加上個廣播地址: 192.168.120.255
實例6:啟用和關閉ARP協議
命令:
ifconfig eth0 arp
ifconfig eth0 -arp
輸出:
[root@localhost ~]# ifconfig eth0 arp
[root@localhost ~]# ifconfig eth0 -arp
說明:
ifconfig eth0 arp 開啟網卡eth0 的arp協議;
ifconfig eth0 -arp 關閉網卡eth0 的arp協議;
實例7:設置最大傳輸單元
命令:
ifconfig eth0 mtu 1500
輸出:
[root@localhost ~]# ifconfig eth0 mtu 1480
[root@localhost ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:56:BF:26:1F
inet addr:192.168.120.203 Bcast:192.168.120.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1480 Metric:1
RX packets:8712395 errors:0 dropped:0 overruns:0 frame:0
TX packets:36631 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:597062089 (569.4 MiB) TX bytes:2643973 (2.5 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:9973 errors:0 dropped:0 overruns:0 frame:0
TX packets:9973 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:518096 (505.9 KiB) TX bytes:518096 (505.9 KiB)
[root@localhost ~]# ifconfig eth0 mtu 1500
[root@localhost ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:56:BF:26:1F
inet addr:192.168.120.203 Bcast:192.168.120.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8712548 errors:0 dropped:0 overruns:0 frame:0
TX packets:36685 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:597072333 (569.4 MiB) TX bytes:2650581 (2.5 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:9973 errors:0 dropped:0 overruns:0 frame:0
TX packets:9973 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:518096 (505.9 KiB) TX bytes:518096 (505.9 KiB)
[root@localhost ~]#
說明:
設置能通過的最大數據包大小為 1500 bytes
備註:用ifconfig命令配置的網卡信息,在網卡重啟後機器重啟後,配置就不存在。要想將上述的配置信息永遠的存的電腦里,那就要修改網卡的配置文件了。
D. LINUX下的PING命令用什麼參數可以讓一個大於MTU值的數據包不分片
通過減少MTU的大小,可以幫助減輕一些發生在協議層的鏈接問題。更多信息請參見管理員幫助主題:Troubleshooting
TCP/IP
problems
for
NRPC
注意:MTU的大小是TCP/IP問題,不是Lotus
Notes
本身的問題。客戶如果發現MTU大小的問題,應該聯系網路管理員。MTU設置的一般原則如下:
在操作系統命令行輸入以下命令ping
-f
-l
1024
<IP
address>
參數解釋:參數
'-f'表示不分段。第二個參數'-l'表示大小,其後的數字表示你要發送的數據包大小。有些操作系統和TCP/IP堆棧允許附加的參數。例如:'-n
<number>'表示ping的次數。你應該減小MTU數據包大小繼續測試,直至成功連接為止。然後,指定MTU值為這個測試通過的大小。
E. 測試一個網路MTU值的操作步驟有哪些
測試一個網路MTU值的操作步驟:
7)不過上面得到的值還不能設置為操作系統或路由器的MTU,你找到的數據包大小需要加上28位元組的「數據包報頭」,才是完整的數據包尺寸。
例如:探測到的數據包大小是1464,那麼加上28位元組,最終MTU=1492位元組。
8)最後,只需要將路由器和操作系統中的MTU值設置為你得出的結果即可進入小極後台,高級選項中的MTU設置中填入測得的數值即可。
F. MTU介紹以及在windows和linux下怎麼設置MTU值
MTU,最大數據傳輸單元,一般默認值是1500;
Linux可以用ifconfig查看,修改可以考慮在/etc/sysconfig/network-scripts/ifcfg-eth0;
也可以通過:ifconfig
eth0
mtu
XXX
(建議在1300~1500之間)
補充一下:不一定是eth0,有可能是enoXXXX之類的,查仔細了;
Windows:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces;
新建DWORD值,重命名MTU,再用滑鼠點卡這個新建的MTU,先選擇「十進制」,在填入XXX;搞定。
G. 為什麼linux上gre的介面MTU值為1472
這個值好像是不一樣的吧,我的centos6.5 安裝pptpd MTU是1396.我印象中的MTU值的問題會導致網路異常報錯的問題,就是可以ping網站,不能打開網站。出現問題改為1500 --ok。在網上我也看到有人說可以修改MTU為1356 在pptpd上面,(mtu-20位元組的IP頭部-20位元組的TCP 頭部=)1356,ppp最大是1396.這些都是在網路上看到的,最近也在看pptp的vpn了解到這里。希望能夠幫助到你,准備到linuxprobe裡面發帖問問大神們。技術交流,希望能夠幫助到你