Linux網絡配置
在Linux中配置IP地址的方法有以下這么幾種:
圖形界面配置IP地址(操作方式如Windows系統配置IP,但在實際生產中,我們並不建議在我們的服務器上安裝Linux的圖形界面,因為安裝了圖形界面將一定程度地影響了服務器的安全性和穩定性,因此,在這里就不對該方式進行詳細的介紹了。)
ifconfig命令臨時配置IP地址(臨時配置IP地址,即當我們重啟計算機或重啟網絡服務后,配置將失效)
setup工具永久配置IP地址(setup工具是由Red Hat開發的,因此在正常情況下,該工具只能用於Red Hat系列的Linux系統)(setup工具——紅帽專有圖形化工具setup設置IP地址)(使用setup命令設置完網絡后需要使用service network restart重啟網絡)
修改網絡配置文件
ifconfig命令
ifconfig命令可以查看與配置網絡狀態。命令結果如下:
eth0 Link encap:Ethernet HWaddr 00:0C:29:11:30:39
inet addr:192.168.134.129 Bcast:192.168.134.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe11:3039/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:19731 errors:0 dropped:0 overruns:0 frame:0
TX packets:502 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1248492 (1.1 MiB) TX bytes:58905 (57.5 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
(lo表示本地回環網卡的信息)
使用ifconfig命令還可以臨時設置某一網卡的IP地址和子網掩碼。如:
ifconfig eth0 192.168.0.200 netmask 255.255.255.0
1
Linux網絡配置文件
網卡信息文件
查看第一張網卡的網卡信息:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
1
信息如下:
DEVICE=eth0
HWADDR=00:0C:29:11:30:39
TYPE=Ethernet
UUID=5ab36190-a5df-4bf1-94d8-6c126afd05f1
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp
1
2
3
4
5
6
7
更多信息說明,如下表格:
配置 說明
DEVICE=eth0 網卡設備名,eth0表示第一張網卡
BOOTPROTO=none 是否自動獲取IP(none、static、dhcp),當值為dhcp時,只需配置上述例子中的那幾項就可以聯網
HWADDR=00:0C:29:11:30:39 MAC地址
NM_CONTROLLED=yes 是否可以由Network Manager圖形管理工具托管
ONBOOT=yes 是否隨網絡服務啟動當前網卡生效(在CentOS 6 以上的版本中ONBOOT是默認關閉的。)
TYPE=Ethernet 網絡類型,這里為以太網
UUID=5ab36190-a5df-4bf1-94d8-6c126afd05f1 唯一識別碼
IPADDR=192.168.0.200 IP地址
NETMASK=255.255.255.0 子網掩碼
GATEWAY=192.168.0.1 網關
DNS1=202.106.0.20 DNS
IPV6INIT=no IPv6是否啟用,這里設置為不啟用
USERCTL=no 是否允許非root用戶控制此網卡,這里為不允許
說明:
1.自動獲取IP的條件是:必須在局域網內存在DHCP服務器。
2.相同UUID網絡配置的計算機會導致互相不能上網。
1
2
3
主機名文件
查看主機名文件:
vi /etc/sysconfig/network
1
內容如下:
NETWORKING=yes
HOSTNAME=localhost.localdomain
1
2
其中:
1. /etc/sysconfig/network該文件中NETWORKING=no時主機將無法連接網絡。
2. Windows下,在同一局域網內相同主機名之間是不能進行傳遞的。要求在局域網內是不能有相同主機名的主機的。而在Linux中局域網內是可以有相同主機名的主機的,如默認主機名:localhost.localdomain。
3. 修改/etc/sysconfig/network文件中的主機名后需要重啟計算機才能生效。使用hostname 主機名命令可以臨時更改主機名后,重啟計算機后將失效。通過hostname命令可以查看當前主機名。
DNS配置文件
查看DNS配置文件:
vi /etc/resolv.conf
1
內容如下:
; generated by /sbin/dhclient-script
search localdomain
nameserver 192.168.134.2
1
2
3
其中最重要的是nameserver這一項,設置的是域名服務器的地址,多個域名服務器,則在后續添加空格繼續補充域名服務器的地址,或者另起一行做類似的nameserver配置。
VMWare中Linux的網絡參數配置
(以CentOS為例)
1. 配置Linux IP地址;
2. CentOS 6以上的系統修改修改網絡配置以啟動網卡vi /etc/sysconfig/network-scripts/ifcfg-eth0將ONBOOT選項的值修改為yes,重啟網絡服務service network restart;
3. 對於網絡配置文件中UUID出現相同的情況,需要修改UUID的值,修改方式如下:
1. `vi /etc/sysconfig/network-scripts/ifcfg-eth0`,刪除MAC地址行
2. `rm -rf /etc/udev/rules.d/70-persistent-net.rules`,刪除網卡和MAC地址綁定文件
3. 重啟當前系統
1
2
3
4.設置VMWare虛擬機的網絡連接方式,選擇橋接模式(可不勾選“復制物理網絡連接狀態”這一選項)(其中橋接模式,允許虛擬機訪問外網,同時可以與局域網內的其他計算機進行通訊(包括本機);NAT模式,允許虛擬機訪問外網,能與本機進行數據通訊,且能訪問局域網內其他主機,但局域網內的其他主機不能訪問該虛擬機;Host Only模式,默認情況下只能同本機進行通訊);
5. 修改橋接的網卡,在“虛擬網絡編輯器”窗口中選擇VMnet0,修改橋接模式下橋接的網卡,這里選擇可以上網的網卡。
VMWare橋接模式下配置靜態IP
修改網卡配置文件,如下:
DEVICE=eth0
HWADDR=00:0C:29:FC:8D:E6
TYPE=Ethernet
#UUID=343b502d-2249-4e33-9187-9abc285b9292
UUID=31b6504c-7ddd-4b74-a51e-46cd34ed182d
ONBOOT=yes
NM_CONTROLLED=yes
#BOOTPROTO=dhcp
BOOTPROTO=static
IPADDR=11.10.1.192
NETMASK=255.255.255.0
GATEWAY=10.8.8.1
DNS1=114.114.114.114
DNS2=8.8.8.8
IPV6INIT=no
USERCTL=no
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
重啟網卡:
service network restart
1
這里,ping外網地址會失敗。使用route命令發現,默認網關沒有設置成功。原因不明(DHCP模式下,動態獲取IP,默認網關10.8.8.1設置成功,可以正常上網。)
20180726,看到這樣的文章《SIOCADDRT: No such process 添加路由報錯》,才明白問題出在:“要添加的網關不在你主機所在的網段”,虛擬機默認使用的網關並非我想要設置的網關,我們需要手動進行設置。
為配置靜態IP的情況下,解決默認網關未設置成功的問題,使用route命令臨時修改默認網關:
臨時修改默認網關(重啟虛擬機后失效)(linux中配置網絡出現 SIOCADDRT: No such process):
sudo route add 10.8.8.1/32 dev eth0
sudo route add default gw 10.8.8.1
1
2
以下方法未能測試通過
永久修改默認網關的方式(防止重啟失效,寫入/sbin/ifup-local,此文件要有執行權限):
vim /sbin/ifup-local
1
內容如下:
#!/bin/bash
if [ "$1" = "eth0" ]
then
# eth0為網卡名 如有vlan則填寫ethx.xxx
sudo route add 10.8.8.1/32 dev eth0
sudo route add default gw 10.8.8.1
fi
1
2
3
4
5
6
7
8
以上方法未能測試通過
Linux網絡命令
網絡環境操作
ifconfig命令
ifconfig:查看網絡狀態(能查看IP地址和子網掩碼,但是不能查看網關和DNS地址),還可以臨時設置某一網卡的IP地址和子網掩碼。
關閉與啟動網卡
ifdown 網卡設備名:禁用該網卡設備。
ifup 網卡設備名:啟用該網卡設備。
查詢網絡狀態
netstat 選項(可以用於查看當前計算機開放的端口,從而判斷當前計算機啟動了哪些服務)
選項:
-t:列出TCP協議端口
-u:列出UPD協議端口
-n:不使用域名和服務名,而使用IP地址和端口號
-l:僅列出在監聽狀態網絡服務
-a:列出所有的網絡連接
-r:列出路由列表,功能和route命令一只
常用組合:-tuln、-an、-rn
查看某一狀態下的網絡連接情況,如:netstat -an | grep ESTABLISHED
查看某一網絡狀態下的行數(查看有多少台計算機連接到當前服務器),如:netstat -an | grep ESTABLISHED | wc -l
netstat -rn 和 route -n 命令功能一樣,結果一致。通過這樣的命令查看當前計算機的網關地址。
1
2
3
4
5
6
7
8
9
10
(注:Linux中如何中止遠程連接?使用logout命令。在Windows中則操作菜單欄點擊注銷。)
4. route命令
route -n:查看路由列表(可以看到當前計算機的網關)。
route add default gw 192.168.1.1:臨時設定網關。
route del default gw 192.168.1.1:刪除設定的網關。
5. 域名解析命令
nslookup [主機名或IP]:進行域名或IP地址的解析。
nslookup
> server
# 查看本機DNS服務器
> exit
# 退出
1
2
3
4
5
(注:CentOS 6.x后nslookup已不存在,需要進行安裝,參考:CentOS 6.x 安裝 nslookup 的步驟 (與 yum 如何查詢套件) 。在不想安裝nslookup的情況下,又想查看本機配置的DNS服務器地址,可以使用cat /etc/resolv.conf命令。)
網絡測試命令
ping命令
ping [選項] ip或域名:探測指定IP或域名的網絡狀況。
選項:
-c 次數:指定ping發送包的次數
1
2
2. telnet命令
telnet [域名或IP] [端口]:遠程管理與端口探測命令。(telnet的遠程連接是極不安全的,它是明文傳遞數據,並未將數據加密。所以我們並不建議使用telnet命令進行遠程管理,但是我們可以通過該命令探測某個計算機中是否開放了某一端口。如:telnet 192.168.0.1 80)
3. traceroute命令
traceroute [選項] IP或域名:路由跟蹤,查看訪問某一IP或域名時經過的路由(路由路徑)。(該命令可能需要單獨安裝)
選項:
-n 使用IP而不使用域名顯示
1
2
4. wget命令
wget 下載地址:下載命令。
5. tcpdump命令
tcpdump命令:用於監聽某一網卡下某一服務的數據包接收情況(截獲數據包-抓包)。如:tcpdump -i eth0 -nnX port 21。
選項:
-i 指定監聽的網卡
-nn 將數據包中的域名與服務轉為IP和端口顯示
-X 以十六進制和ASCII碼顯示數據包內容
port 指定監聽的端口
---------------------
原文鏈接:https://blog.csdn.net/qq_15096707/article/details/78420069