這是一系列基礎命令的集合,我會從使用角度介紹,看完這些以后你能夠在linux終端下完成大部分之前需要鼠標和鍵盤才能完成的操作。
今天是第五篇,介紹Linux下基礎的網絡操作命令。
- 網卡信息
ubuntu@ubuntu-virtual-machine:~$ ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.115.138 netmask 255.255.255.0 broadcast 192.168.115.255
inet6 fe80::a1ed:ba47:821f:8b10 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:51:ad:60 txqueuelen 1000 (以太網)
RX packets 8665 bytes 12475254 (12.4 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1103 bytes 98183 (98.1 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (本地環回)
RX packets 188 bytes 16340 (16.3 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 188 bytes 16340 (16.3 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
- 網絡配置
主要列舉幾個我們在工作中可能會用到的操作:
- 關閉指定網卡
# ifconfig eth0 down #關閉eth0
- 開啟指定網卡
# ifconfig eth0 up #開啟eth0
- 修改指定網卡信息
# ifconfig eth0 down #關閉網卡
# ifconfig eth0 hw ether 00:11:22:33:44:55 #修改eth0網卡MAC地址
# ifconfig eth0 up #啟動網卡
# ifconfig eth0 192.168.3.178 #給eth0網卡配置IP地址
# ifconfig eth0 192.168.3.178 netmask 255.255.255.0 #給eth0網卡配置IP地址,并加上子掩碼
# ifconfig eth0 192.168.3.178 netmask 255.255.255.0 broadcast 192.168.3.255 #給eth0網卡配置IP地址,加上子掩碼,加上個廣播地址
- 啟動/關閉ARP協議
如果對網絡不熟悉可能不了解什么是ARP,但是這個協議在開發中是經常被用到的,可以先了解一下。
# ifconfig eth0 arp #開啟eth0網卡ARP
# ifconfig eth0 -arp #關閉eth0網卡ARP
- 設置MTU
MTU是包或幀的最大長度,一般單位是字節。如果MTU過大,在碰到路由器時會被拒絕轉發,因為它不能處理過大的包。如果太小,因為協議一定要在包(或幀)上加上包頭,那實際傳送的數據量就會過小,這樣也劃不來。大部分操作系統會提供給用戶一個默認值,該值一般對用戶來說是比較合適的。
# ifconfig eth0 mtu 1500 #設置MTU1500 字節
- ping命令
ping命令一般用來測試網絡連通狀態,但是一定要注意,并不是說沒有ping通就表示網絡不通,因為網絡可以配置ping的功能,但是大多數情況下都有這個服務。
使用非常簡單,ping命令緊接著一個IP或者域名地址,需要手動輸入CTRL+C結束。
ubuntu@ubuntu-virtual-machine:~$ ping 192.168.3.178
PING 192.168.3.178 (192.168.3.178) 56(84) bytes of data.
64 字節,來自 192.168.3.178: icmp_seq=1 ttl=128 時間=4.90 毫秒
64 字節,來自 192.168.3.178: icmp_seq=2 ttl=128 時間=5.08 毫秒
64 字節,來自 192.168.3.178: icmp_seq=3 ttl=128 時間=5.26 毫秒
^C
--- 192.168.3.178 ping 統計 ---
已發送 3 個包, 已接收 3 個包, 0% 包丟失, 耗時 2002 毫秒
rtt min/avg/max/mdev = 4.904/5.081/5.260/0.145 ms
ubuntu@ubuntu-virtual-machine:~$ ping www.baidu.com
PING www.a.shifen.com (14.215.177.39) 56(84) bytes of data.
64 字節,來自 14.215.177.39 (14.215.177.39): icmp_seq=1 ttl=128 時間=34.2 毫秒
64 字節,來自 14.215.177.39 (14.215.177.39): icmp_seq=2 ttl=128 時間=33.5 毫秒
64 字節,來自 14.215.177.39 (14.215.177.39): icmp_seq=3 ttl=128 時間=33.8 毫秒
64 字節,來自 14.215.177.39 (14.215.177.39): icmp_seq=4 ttl=128 時間=36.1 毫秒
^C
--- www.a.shifen.com ping 統計 ---
已發送 4 個包, 已接收 4 個包, 0% 包丟失, 耗時 3007 毫秒
rtt min/avg/max/mdev = 33.524/34.393/36.068/0.992 ms
介紹幾個常用的參數:
-c 指定ping的包數。
ubuntu@ubuntu-virtual-machine:~$ ping -c 5 www.baidu.com
PING www.a.shifen.com (14.215.177.39) 56(84) bytes of data.
64 字節,來自 14.215.177.39 (14.215.177.39): icmp_seq=1 ttl=128 時間=34.8 毫秒
64 字節,來自 14.215.177.39 (14.215.177.39): icmp_seq=2 ttl=128 時間=35.4 毫秒
64 字節,來自 14.215.177.39 (14.215.177.39): icmp_seq=3 ttl=128 時間=36.8 毫秒
64 字節,來自 14.215.177.39 (14.215.177.39): icmp_seq=4 ttl=128 時間=34.7 毫秒
64 字節,來自 14.215.177.39 (14.215.177.39): icmp_seq=5 ttl=128 時間=36.4 毫秒
--- www.a.shifen.com ping 統計 ---
已發送 5 個包, 已接收 5 個包, 0% 包丟失, 耗時 4010 毫秒
rtt min/avg/max/mdev = 34.677/35.613/36.782/0.843 ms
- 網絡防火墻
Ubuntu我們使用ufw命令來配置防火墻。
如果你的設備上沒有ufw命令,可運行apt安裝。
- 查看防火墻狀態
ubuntu@ubuntu-virtual-machine:~$ sudo ufw status
[sudo] ubuntu 的密碼:
狀態:不活動
狀態:不活動表示我沒有打開防火墻。
- 關閉防火墻
ubuntu@ubuntu-virtual-machine:~$ sudo ufw disable
防火墻在系統啟動時自動禁用
- 打開防火墻
ubuntu@ubuntu-virtual-machine:~$ sudo ufw enable
此命令可能會中斷目前的 ssh 連接。要繼續嗎 (y|n)? y
在系統啟動時啟用和激活防火墻
- 設置防火墻
打開端口訪問。
ubuntu@ubuntu-virtual-machine:~$ sudo ufw allow 53 #允許外部訪問53端口(tcp/udp)
規則已添加
規則已添加 (v6)
打開IP訪問。
ubuntu@ubuntu-virtual-machine:~$ sudo ufw allow from 192.168.3.178 #允許192.168.3.178訪問所有的本機端口
規則已添加
指定網段訪問特定端口。
ubuntu@ubuntu-virtual-machine:~$ sudo ufw allow proto tcp from 192.168.3.0/24 to any port 22
# 允許所有192.168.3.*的IP訪問服務器的ssh服務
規則已添加
刪除防火墻規則。
ubuntu@ubuntu-virtual-machine:~$ sudo ufw delete allow 53 # 刪除對端口53的開放規則
規則已刪除
規則已刪除 (v6)
文末
至此,Linux終端使用的基礎命令介紹結束。
對于命令的使用完全是熟能生巧的過程,多使用就能發現命令行的便捷和效率。
后面開始開發類知識介紹。