Linux 網絡設置與基礎服務
1 配置網絡設置
? 主機名 hostname
? IP地址/netmask ifconfig ; ip a
? 路由:默認網關 route -n
? DNS服務器 cat /etc/resolv.conf
? 網絡連接狀態 ss netstat
? 域名解析 nslookup host
?IP 地址
2 ifconfig
ifconfig 具體網卡名稱 #只顯示具體網卡的詳細信息(無論該網卡是否使用) ifconfig -a #表示顯示所有網卡包括沒有啟動的網卡 ifconfig 網卡名稱 [up|down] #表示開啟或關閉網卡 ifconfig 網絡接口 ip地址/[netmask 子網掩碼] ifconfig 網絡接口 ip地址[/子網掩碼長度] 臨時修改網卡名稱 ifconfig ens33:0 地址 #表示虛擬網卡
ifconfig 修改IP地址
inconfig ens33 新的IP地址
[root@localhost ~]# ifconfig ens33 192.168.11.8 [root@localhost ~]# ifconfig ens33: flags=4163mtu 1500 inet 192.168.11.8 netmask 255.255.255.0 broadcast 192.168.11.255 inet6 fe80:97142343 prefixlen 64 scopeid 0x20 ether 002950:48 txqueuelen 1000 (Ethernet) RX packets 641 bytes 49417 (48.2 KiB) 需要重新連接一下Xshell
ifconfig 添加臨時IP地址
ifconfig 刪除臨時IP地址
永久修改IP地址
# vim /etc/sysconfig/network-scripts/ifcfg-ens33
最好重啟#systemctl restart network
3 修改網卡名
臨時修改網卡名稱
iplinksetens36 down #先將網卡down掉 iplinksetens36 name abc #然后改名 iplinksetabc up #最后再啟動網卡
①先down掉
②修改網卡名
③重啟之后,就會消失
[root@localhost ~]# ifconfig ens33 down Socket error Event: 32 Error: 10053. 連接另一個網卡ens33登錄改名 [root@localhost ~]# iplinksetens33 name mcb [root@localhost ~]# ifconfig mcb up [root@localhost ~]# ifconfig mcb mcb: flags=4163mtu 1500 inet 192.168.11.8 netmask 255.255.255.0 broadcast 192.168.11.255 inet6 fe80:91502b3d prefixlen 64 scopeid 0x20 ether 002950:48 txqueuelen 1000 (Ethernet) RX packets 1870 bytes 129554 (126.5 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 536 bytes 63192 (61.7 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 [root@localhost ~]#
4 永久修改網卡名
# vim /etc/default/grub
reboot/init 6 成功了
ethool
用于查看和修改以太網接口驅動程序和硬件參數的工具
ethtool eth0 #顯示以太網接口的狀態信息 ethtool -i eth0 #查看以太網接口的驅動程序信息 ethtool -S eth0 #顯示以太網接口的統計信息 ethtool -p eth0 #讓ens33網口的燈快速閃爍,可分辨現實中的eth0網絡接口
5 實操:雙卡配置(實驗沒有搞完)
①先在虛擬機設置里添加一張網卡
②將ens33的配置文件拷給ens36
[root@localhost ~]#cd/etc/sysconfig/network-scripts/ [root@localhost network-scripts]#cpifcfg-ens33 ifcfg-ens36 [root@localhost network-scripts]# vim ifcfg-ens36 TYPE=Ethernet BOOTPROTO=static NAME=ens36 DEVICE=ens36 ONBOOT=yes IPADDR=192.168.91.110 NETMASK=255.255.255.0 GATEWAY=192.168.91.2 [root@localhost network-scripts]# systemctl restart network [root@localhost ~]# ping 192.168.11.20 PING 192.168.11.20 (192.168.11.20) 56(84) bytes of data. 64 bytes from 192.168.11.20: icmp_seq=1 ttl=64time=0.058 ms 64 bytes from 192.168.11.20: icmp_seq=2 ttl=64time=0.051 ms 64 bytes from 192.168.11.20: icmp_seq=3 ttl=64time=0.050 ms 64 bytes from 192.168.11.20: icmp_seq=4 ttl=64time=0.049 ms 64 bytes from 192.168.11.20: icmp_seq=5 ttl=64time=0.048 ms
③進行ens36配置文件修改
④測試
6 IP
ip link 數據鏈路層
[root@localhost ~]# iplink #斷網或拔掉網線狀態 1: lo:mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT qlen 1 link/loopback 000000:00 brd 000000:00 2: ens33: mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000 link/ether 002950:48 brd ffffff:ff 3: virbr0: mtu 1500 qdisc noqueue state DOWN mode DEFAULT qlen 1000 link/ether 52007b:87 brd ffffff:ff 4: virbr0-nic: mtu 1500 qdisc pfifo_fast master virbr0 state DOWN mode DEFAULT qlen 1000 link/ether 52007b:87 brd ffffff:ff [root@localhost ~]#
ip addr 網絡層
[root@localhost ~]# ip addr #可以寫成ip a,更高端的查看網卡信息 [root@localhost ~]# ip address add 172.19.8.211/16 dev ens33 #添加新的虛擬ip地址 [root@localhost ~]# ip address add 10.0.0.88/24 dev ens33 #臨時添加IP [root@localhost ~]# ip address del 10.0.0.8/24 dev ens33
ip addr #顯示和管理網絡接口信息 ip address add ip地址/子網掩碼 dev 網卡名 #臨時增加網卡 ip address add ip地址/子網掩碼 dev ens33 label ens33:1 #臨時增加虛擬網卡 ip address del ip地址/子網掩碼 dev 網卡名 #臨時刪除網卡 ip address del ip地址/子網掩碼 dev ens33 label ens33:1 #臨時刪除虛擬網卡
ip add del
ip address del 10.0.0.8/24 dev ens33 #先加新IP,再刪除舊的IP #ip a
ip route 路由
[root@localhost ~]# ip route default via 192.168.11.2 dev ens33 proto static metric 100 192.168.11.0/24 dev ens33 proto kernel scopelinksrc 192.168.11.20 metric 100 192.168.122.0/24 dev virbr0 proto kernel scopelinksrc 192.168.122.1
route-n
7 添加刪除路由
路由第一行代表意思
Destnation
Gateway
Genmask
Flags
Metric
Ref
Use
Iface
①route add -net 10.0.0.0/8 gw 192.168.227.2
臨時添加一條去往10.0.0.0段路由,通過網關192.168.227.2轉發
②route del -net 10.0.0.0/8
刪除去往10.0.0.0段路由
③route add -net 0.0.0.0(default) gw 192.168.227.2
添加默認路由
④永久添加路由
[root@localhost ~]# vim /etc/sysconfig/network-scripts/route-ens33 10.0.0.0/24 via 192.168.11.11 [root@localhost ~]# systemctl restart network
8 ss/netstat——網絡連接狀態
服務不能用,ftp、httpd網頁無法訪問 1.首先ping 是否能通;看網絡是否通,防火墻是否關閉 2.查看服務是否開啟systemctl status 服務名 3.ss 或 netstat 看服務端口是否被占用 4.查看服務的配置文件是否正確
netstat
查看網絡連接情況
-a 顯示主機中所有活動的網絡連接信息(包括監聽、非監聽狀態的服務端口)。
-n 拒絕顯示別名,以數字的形式顯示相關的主機地址、端口等信息。
-t 查看TCP協議相關的信息。
-u 顯示UDP協議相關的信息。
-r 顯示路由表信息。
-l 顯示處于監聽狀態(Listen)的網絡連接及端口信息。
-p 顯示與網絡連接相關聯的進程號、進程名稱信息(該選項需要root權限)
ss
查看網絡連接情況
-t tcp協議相關
-u udp協議相關
-w 裸套接字相關
-x unix sock相關
-l listen狀態的連接
-a 顯示所有連接
-n 數字格式
-p 相關的程序及PID
-e 擴展的信息
-m 內存用量
-o 計時器信息
-r --resolve 把 IP 解釋為域名,把端口號解釋為協議名稱
區別
ss 更靠近內核(快)
netstat更靠近用戶 (慢)
9 traceroute IP地址
跟蹤數據包,路由跟蹤
10 nslookup
域名解析,驗證dns服務器是否可以解析域名;dns域名解析的作用是:將域名翻譯成ip地址。同時其他命令也可以查看,比如:dig,host,ping等。
11 修改主機名
hostname 臨時修改主機名
[root@localhost ~]# hostname mg 登出 Connection closed. Disconnected from remote host(7-64-2) at 1811. Last login: Tue Jan 9 1812 2024 from 192.168.11.1 [root@mg ~]# ^C [root@mg ~]# 重啟就消失
hostname 永久修改主機名
①指令修改
②文件修改
12 tcpdump-數據抓包
一個強大的網絡協議分析器,它主要用于監控和捕獲網絡流量數據包,并能夠以易于閱讀的格式顯示這些信息。在Linux和其他類Unix系統中廣泛使用,是網絡管理員、安全專家和開發者進行網絡故障排查、性能分析以及安全審計的重要工具
①tcpdump -i ens33 指定查看 ens33 網卡
②tcpdump -D 查看網卡
③監聽特定地址的包
④抓取來源于192.168.241.22 目的地址是192.168.241.11的包
#查看系統當前所有網卡的信息 #tcpdump -D #監聽特定網卡 tcpdump -i ens33 #監聽特定主機,監聽主機192.168.11.12的通信包,注意:出、入的包都會被監聽 tcpdump host 192.168.11.12 #特定來源的通信 tcpdump src host hostname或ip地址/子網掩碼 #特定目標地址的通信 tcpdump dst host hostname或ip地址/子網掩碼 #如果不指定src跟dst,那么來源或者目標是hostname或ip地址/子網掩碼的通信都會被監聽 tcpdump host hostname或ip地址/子網掩碼 #捕獲從ip地址為192.168.11.12的主機發送到ip地址為192.168.11.9的主機的icmp報文 tcpdump -i eth0 -nn icmp and src host192.168.12 and dst host 192.168.11.9 #捕獲特定端口的數據包 tcpdump port 1000 #監聽TCP/UDP,服務器上不同服務分別用了TCP、UDP作為傳輸層,假如只想監聽TCP的數據包 tcpdump tcp #來源主機+端口+TCP,監聽來自主機192.168.11.12在端口22上的TCP數據包 tcpdump tcp port 22 and src host 192.168.11.12 #監聽特定主機之間的通信 tcpdump ip host 172.16.12.10 and 192.168.11.12 #192.168.11.12和除了192.168.11.9之外的主機之間的通信 tcpdump ip host 1192.168.11.12 and ! 192.168.11.9 #在eth1接口上抓取前100個源IP地址在172.16.12.0/24網段內、目標端口不為SSH的TCP 數據包,并將這些數據包保存到target.cap文件中,以便后續分析和處理 tcpdump tcp -i eth1 -t -s 0 -c 100 and dst port ! 22 and src net 172.16.12.0/24 -w ./target.cap (1)tcp: ip icmp arp rarp 和 tcp、udp、icmp這些選項等都要放到第一個參數的位置,用來過濾數 據報的類型 (2)-i eth1 : 只抓經過接口eth1的包 (3)-t : 不顯示時間戳 (4)-s 0 : 抓取數據包時默認抓取長度為68字節。加上-S 0 后可以抓到完整的數據包 (5)-c 100 : 只抓取100個數據包 (6)dst port ! 22 : 不抓取目標端口是22的數據包 (7)src net 172.16.12.0/24 : 數據包的源網絡地址為172.16.12.0/24 (8)-w ./target.cap : 保存成cap文件,方便用wireshark分析 #限制抓包的數量,如下,抓到1000個包后,自動退出 tcpdump -c 1000
13 bond多網卡綁定
主備替用:單點故障
雙主模式:分攤流量
1 直接給兩塊網卡設置同一IP地址是不可以的
2 將多塊網卡綁定同一IP地址對外提供服務,實現利用率或者負載均衡
3 虛擬一塊網卡對外提供連接,物理網卡的被修改為相同的MAC地址
① 虛擬機再添加一張網卡
② 切換到配置文件目錄下
③ 進入bond0配置
④修改ens33 ens36
⑤重啟網卡
⑥測試
[root@localhost ~]#systemctl stop firewalld [root@localhost ~]#setenforce 0 setenforce: SELinux is disabled [root@localhost ~]#cd /etc/sysconfig/network-scripts [root@localhost network-scripts]#ifconfig ens33: flags=4163mtu 1500 inet 192.168.11.9 netmask 255.255.255.0 broadcast 192.168.11.255 inet6 fe80:5a32fc95 prefixlen 64 scopeid 0x20 ether 002950:c4 txqueuelen 1000 (Ethernet) RX packets 115353 bytes 167503435 (159.7 MiB) RX errors 1354 dropped 7209 overruns 0 frame 0 TX packets 80916 bytes 4458103 (4.2 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 device interrupt 19 base 0x2000 ens37: flags=4163 mtu 1500 ether 002950:ce txqueuelen 1000 (Ethernet) [root@localhost network-scripts]#cp ifcfg-ens33 ifcfg-bondo [root@localhost network-scripts]#vim ifcfg-bond0
[root@localhost network-scripts]#vim ifcfg-ens33
[root@localhost network-scripts]#vim ifcfg-ens37
[root@localhost network-scripts]#systemctl restart network
若不斷網#cd /etc/sysconfig/network-scripts
# ls
# rm-rf ifcfg-bondo
再次連接起來
查看bind0狀態
用另外虛擬機ping一下bond0的IP地址
14 查看一下bond0狀態
第一種情況
第二種狀態
bond網卡綁定 方法二 基本上用不上
centos8: nmcli實現bonding #創建新連接static ,指定靜態IP,不自動連接 nmcti con add con-name static ifname eth0 autoconnect no type Ethernet ipv4.addresses 172.25.X.10/24 ipv4.gateway 172.25.X.254 nmcli connection modify ens33 ipv4.addresses 192.168.91.100/2 nmcli connection up ens33
#添加bonding接口 nmcli con add type bond con-name mybond0 ifname bond0 mode active-backup ipv4.method manual ipv4.addresses 192.168.91.123/24 #添加從屬接口 nmcli con add type bond-slave ifname ens33 master bond0 nmcli con add type bond-slave ifname ens36 master bond0 #注:如無為從屬接口提供連接名,則該名稱是接口名稱加類型構成 #要啟動綁定,則必須首先啟動從屬接口 nmcli con up bond-slave-ens33 nmcli con up bond-slave-ens36 #啟動綁定 nmcli con up mybond0
-
Linux
+關注
關注
87文章
11411瀏覽量
212243 -
網關
+關注
關注
9文章
5003瀏覽量
52214 -
服務器
+關注
關注
12文章
9574瀏覽量
86917 -
網絡
+關注
關注
14文章
7701瀏覽量
90087
原文標題:你的 Linux 服務器連不上網?10 分鐘入門網絡
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
基于Linux驅動程序源碼的網絡打印服務器設計
Linux應用基礎教程之Linux的網絡服務資料概述
Linux服務的內容如何查看

評論