日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux系统中与网络配置相关的工具

發布時間:2023/12/29 linux 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux系统中与网络配置相关的工具 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

網絡配置

大家平時經常碰到的網絡是局域網(LAN),局域網又分為有線局域網和無線局域網(WLAN),其中以太網(Ethernet)是最常見的有線局域網,WIFI是最常見的無線局域網。除此之外,還有撥號網絡PPPoE(Point-to-Point Protocol over Ethernet),即以太網上的點對點協議(PPP)。以太網技術雖然具有簡單易用,成本低等特點,但是以太網廣播網絡的屬性,使得其通信雙方無法相互驗證對方的身份,因而通信是不安全的;PPPoE結合了PPP協議通信雙方身份驗證的功能,在PPP組網結構的基礎上,將PPP報文封裝成PPPoE報文,從而實現以太網上的點對點通信,使得以太網中的客戶端能夠連接到遠端的寬帶接入設備上,實現了傳統以太網不能提供的身份驗證、加密以及壓縮等功能。

本文描述如何在 Linux 系統中配置 ISO 模型的網絡層(Network Layer)連接。

網絡連接

首先確保電腦中裝有網卡,排查網絡是否連接的詳細步驟如下:

  • 檢查網卡是列出在和啟用,如果沒有,則檢查網卡驅動程序是否加載;
  • 電腦連接到網絡,有線網絡(Ethernet)或者無線網絡(wireless LAN);
  • 檢查網卡是否有一個 IP 地址;
  • 正確配置路由表;
  • 檢查是否可以 ping 通本地 IP 地址(如默認網關);
  • 檢查是否可以 ping 通公網 IP 地址(如 9.9.9.9,該 IP 為一個 DNS 服務器);
  • 檢查是否可以 ping 通一個網絡域名(如 archlinux.org).
  • 首先介紹一些網絡管理工具。

    ping 命令

    ping domain_name/ip_address # ping 后面的測試可以是網站域名或者 IP 地址# 示例: ping archlinux.org# 輸出結果 PING archlinux.org (95.217.163.246) 56(84) bytes of data. 64 bytes from archlinux.org (95.217.163.246): icmp_seq=1 ttl=128 time=279 ms 64 bytes from archlinux.org (95.217.163.246): icmp_seq=2 ttl=128 time=234 ms 64 bytes from archlinux.org (95.217.163.246): icmp_seq=3 ttl=128 time=233 ms ^C --- archlinux.org ping statistics --- 4 packets transmitted, 3 received, 25% packet loss, time 3090ms rtt min/avg/max/mdev = 232.841/248.541/278.688/21.323 ms

    ping 命令包含在 iputils包中,在一些精簡的系統中,要使用 ping 命令首先需要安裝 iputils 包。使用 Ctrl+c 即可終止輸出,從輸出結果中可以看出測試結果,需要注意 ping 命令測試是運行的是網絡層中 ICMP 協議, 當代理軟件運行在應用層時,不能用該命令測試網絡的連通性。

    net-tools

    net-tools 包含了一系列 Linux 網絡的基礎程序,其中最常見的有 arp ifconfig netstat route.

    arp

    ARP(Address Resolution Protocol,地址解析協議)是用來將IP地址解析為MAC地址的協議。 主機或三層網絡設備上會維護一張ARP表,用于存儲IP地址和MAC地址的映射關系,一般ARP表項包括動態ARP表項和靜態ARP表項。

    arp 命令用于操作內核 ARP 緩存,一般很少需要手動操作 ARP 表項。

    arp -v # 顯示 arp 緩沖區內容 arp -s IP MAC-ADDRESS # 添加靜態 arp 映射  arp -d IP # 刪除 arp 緩存條目
    ifconfig (network interfaces configuring)

    ifconfig 是配置網卡的主要命令,其功能是用于顯示或設置網絡設備參數信息,在Windows系統中與之類似的命令叫做 ipconfig,使用 ifconfig 命令配置網絡設備的參數信息臨時生效,當服務器重啟,配置過的參數會自動失效,如果需要永久改變,則需要寫入配置文件中。

    # 語法格式:ifconfig [網卡設備] [參數] ifconfig # 顯示網卡信息 ifconfig -a # 顯示的是系統所有的網絡接口,不管是激活的還是未激活的 ifconfig network_interface up/down # 對指定的網卡設備進行啟動或關閉操作 ifconfig network_interface 192.168.10.20 netmask 255.255.255.0 # 臨時修改IP地址

    注意一下網卡的命名規則,默認情況下,udev 分配網卡名字,以太網前綴 en,WIFI 前綴 wl.

    netstat

    netstat是控制臺命令,是一個監控TCP/IP網絡的非常有用的工具,它可以顯示路由表、實際的網絡連接以及每一個網絡接口設備的狀態信息。Netstat用于顯示與IP、TCP、UDP和ICMP協議相關的統計數據,一般用于檢驗本機各端口的網絡連接情況。

    netstat -ltup # -l 只顯示監聽端口 # -t 列出 tcp 端口 # -u 列出 udp 端口 # -p 輸出中顯示 PID 和進程名稱

    實際使用中可以用 grep 命令過濾輸出。

    route

    route 命令是用于操作基于內核 IP 路由表。

    route -n # 顯示當前路由 oute add/del -net ip_addr netmask ip_addr dev net_interface # 添加網/刪除網關 route add/del default gw ip_addr # 添加/刪除設置默認網關

    traceroute

    traceroute 用于探測數據包從源到目的經過路由的 IP,使用該命令前需要安裝 traceroute 包。traceroute 的原理是試圖以最小的 TTL(存活時間)發出探測包來跟蹤數據包到達目標主機所經過的網關,然后監聽一個來自網關 ICMP 的應答。

    # 示例:traceroute archlinux.org

    iproute2

    iproute2 的出現旨在從功能上取代 net-tools,net-tools 通過procfs(/proc)和ioctl系統調用去訪問和改變內核網絡配置,而iproute2則通過netlink套接字接口與內核通訊。拋開性能而言,iproute2的用戶接口比net-tools顯得更加直觀。

    iproute2 的核心命令是 ip 命令,它與 net-tools 中命令的對應關系如下:

    net-tools commandiproute2 commands
    arpip neighbor
    ifconfigip address, ip link
    netstatss
    routeip route

    ip 命令用法示例:

    ip link show # 顯示出所有可用網絡接口的列表 ip addr [show dev eth1] # 查看某個指定網絡接口的IPv4地址 ip link set up/down eth1 # 激活或停用某個指定的網絡接口 ip addr add 10.0.0.1/24 [broadcast 10.0.0.255] dev eth1 # 可以使用 iproute2 給同一個接口分配多個 IP 地址 ip addr del 10.0.0.1/24 dev eth1 # 移除 IP 地址 ip link set dev eth1 address 08:00:27:75:2a:67 # 更改網絡接口的MAC地址

    DHCP

    通常情況下我們不需要手動配合靜態 IP,只需要去動態獲取 IP 即可。一個網絡中的 DHCP 服務器給客戶端提供了動態 IP 地址、子網掩碼、默認網關,以及可選的 DNS 服務。

    在客戶端安裝 DHCP 的客戶端即可使用該服務。Linux 上常用的 DHCP 客戶端是 dhcpcd,如下表所示:

    ClientPackageNoteSystemd units
    dhcpcddhcpcdDHCP, DHCPv6, ZeroConf, static IPdhcpcd.service, dhcpcd@*interface*.service

    很多網絡管理軟件都內置了 DHCP 服務。

    網絡管理軟件

    介紹幾種網絡管理軟件,這些網絡管理軟件用于管理網絡連接。使用這些軟件很大程度上降低了網絡連接的復雜性。常用的網絡管理軟件如下:

    Network managerGUICLI toolsPPP supportDHCP clientsystemd units
    netctl2 unofficialnetctl, wifi-menuYesdhcpcd or dhclientnetctl-ifplugd@*interface*.service, netctl-auto@*interface*.service
    NetworkManagerYesnmcli, nmtuiYesinternal or dhclientNetworkManager.service
    systemd-networkdNonetworkctlNointernalsystemd-networkd.service, systemd-resolved.service

    NetworkManager

    NetworkManager 是一個為系統提供檢測和配置功能以便自動連接到網絡的程序。支持 PPPoE 撥號,集成了 DHCP 服務。nmcli 是配置網絡的命令行工具,nmtui 提供一個圖形化文本界面來與NetworkManager交互用于配置網絡。

    本機地址

    Hostname

    在網絡中,hostname 是一個分配給主機的一個域名,通常是一個主機的本地名字加上可選的域名,用點(.)分隔,例如 en.wikipedia.org(主機名:en,域名:wikipedia.org),這種主機名通過本機 hosts 文件或者 DNS 服務器解析為 IP 地址。一個主機可以擁有多個主機名。

    可以通過修改 /etc/hostname 文件配置主機名,該文件包含單獨的一行 myhostname,或者通過命令更改:

    hostnamectl set-hostname myhostname # 等同于修改 /etc/hostname hostname myhostname # 臨時更改,重啟失效

    要使你的設備能在局域網中被識別,有以下兩種方法:

  • 在局域網上編輯每一臺主機的 /etc/hosts 文件,加上你的主機;
  • 配置一個 DNS 服務器,解析域名。
  • Hosts

    Hosts 文件位于 /etc/hosts,以表的形式存儲了主機名和 IP 地址的映射關系。Hosts文件是大多數系統都存在的一個小型主機表。Hosts文件中包含了本地網絡重要的主機名和地址信息,查詢Hosts文件得到的結果比通過查詢 DNS 得到的結果優先級更高。

    Localhost

    localhost 是一個在計算機網絡中用于表示“此計算機”的主機名,它被用于通過本地回環網絡接口,來訪問本機運行的服務,并且將會繞過任何物理網絡接口硬件。運用本地環回機制,便可在主機上運行網絡服務,期間不須安裝實體網絡接口卡,也無須將該服務開放予主機所在網絡。例如,在設置好本地安裝的網站后,可通過http://localhost這一網址,來訪問本地網站。localhost這個主機名稱一般會解析為 IPv4 本地回環地址 127.0.0.1 和 IPv6 本地回環地址 [::1].

    為了解析本機主機名,可在 /etc/hosts 中添加以下信息:

    127.0.0.1 localhost ::1 localhost 127.0.1.1 myhostname

    如果本機有一個永久的 IP 地址,則可配置:

    127.0.0.1 localhost ::1 localhost 203.0.113.45 host1.fqdomain.example host1

    一般情況下本機有三塊網卡:

  • lo:回環網卡(Loopback Adapter),是一塊虛擬網卡;
  • eth0:有線以太網卡;
  • wl0:WIFI無線網卡。
  • localhost、127.0.0.1、0.0.0.0和本機IP的區別:

  • localhost 是一個指向本機的域名,通過http://localhost這一網址,來訪問本地網站,localhost 指向的 IP 地址是可以配置的。不聯網,不使用網卡,不受防火墻和網卡限制,本機訪問。
  • 127.0.0.1 是一個回環地址(Loop back address),通常分配給 loopback 接口。凡是以 127 開頭的 IP 地址,都是回環地址,都指向 lo 網卡。發送給 127 開頭的 IP 地址的數據包會被發送的主機自己接收,根本傳不出去,外部設備也無法通過回環地址訪問到本機。不聯網,網卡傳輸,受防火墻和網卡限制,本機訪問。
  • 0.0.0.0是不能被 ping 通的,0.0.0.0稱為“unspecified”,即未指定(即無效的,無意義的)地址。DHCP客戶端還未獲取到ip的時候規定使用0.0.0.0作“源地址”;在服務器中,0.0.0.0并不是一個真實的的IP地址,它表示本機中所有的IPV4地址。監聽0.0.0.0的端口,就是監聽本機中所有IP的端口。
  • 本機IP通常僅指在同一個局域網內,能同時被外部設備訪問和本機訪問的那些IP地址(可能不止一個)。像127.0.0.1這種一般是不被當作本機IP的。本機IP是與具體的網絡接口綁定的,比如以太網卡、無線網卡或者PPP/PPPoE撥號網絡的虛擬網卡,想要正常工作都要綁定一個地址,否則其他設備就不知道如何訪問它。聯網,網卡傳輸,受防火墻和網卡限制,本機或外部訪問。
  • 相關閱讀

    Linux系統連接以太網與WIFI的方法

    參考文獻

    [1] Network Configuration

    [2] 什么是PPPoE?PPPoE解決了哪些問題?

    [3] localhost、127.0.0.1和0.0.0.0和本機IP的區別

    總結

    以上是生活随笔為你收集整理的Linux系统中与网络配置相关的工具的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。