網路入門(一)

来源:https://www.cnblogs.com/fengciaimei/archive/2020/04/27/12783910.html
-Advertisement-
Play Games

筆者作為一個文字的搬運者,也是一個小白用戶,因為老熬夜記憶力很是糟糕,一直靠別人筆記過活。這是筆者整理的在Linux中與上網有關的一些配置文件和小命令。 同樣,只是筆跡,沒有教學,怕誤人子弟。見諒。 ...


LINUX中於網路相關的配置文件

筆者作為一個文字的搬運者,也是一個小白用戶,因為老熬夜記憶力很是糟糕,一直靠別人筆記過活。這是筆者整理的在Linux中與上網有關的一些配置文件和小命令。

 

一、與網卡名相關的配置文件

centos5:

  centos5在/etc/modprobe.conf文件中是使用別名定義的網卡名

    alias eth0 e1000

    可以在此處修改。

centos6:

  centos6中的網卡名預設是eth0,當新增刪除網卡的時候網卡名會發生變化,可能會被頂替

  centos6中可以修改/etc/udev/rules.d/70-presistent-net.rules文件中

 

  DELL公司電腦可能會在BIOS中啟用bisodevname的軟體會把網卡名命名成

    主板集成網卡會命名成em1 em2 。。。

    PCI類型網卡會命名成pYpX Y:表示插槽,X:表示埠,第幾個介面

 

  永久修改,修改配置文件:

    預設是eth0   eth1 ....

    編輯/etc/udev/rules.d/70-persistent-net.rules文件中的網卡信息,來修改網卡名

    重啟電腦 或者 卸載網卡驅動再載入網卡驅動。modprobe -r e1000 ; modprobe e1000

  臨時修改,利用命令修改:

    先禁用網卡,在修改網卡名

    ip link set eth0 down

    ip link eth0 name Newname

 

centos7\8:

  centos7\8中的網卡名是基於硬體、設備拓撲和設備類型命令。

  systemd對網卡的命名:

    1. 如果Firmware或BIOS為主板上集成的設備提供的索引信息可用,且可預測則根據此索引進行命名,如:eno1

    2. 如果Firmware或BIOS為PCI-E擴展槽所提供的索引信息可用,且可預測,則根據此索引進行命名,如:ens1

    3. 如果硬體介面的物理位置信息可用,則根據此信息命名,如:enp2s0

    4. 如果用戶顯式啟動,也可根據MAC地址進行命名,如:enx2387a1dc56

    5. 上述均不可用時,則使用傳統命名機制

 

  使用傳統命名方法:

    修改/etc/default/grub中

      GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"

    為grub2生成其配置文件

      gurb2-mkconfig /boot/gurb2/gurb.cfg

 

 

二、與IP/NETMASK/GATEWAY/DNS相關配置文件

  centos5\6\7\8通用方法

  編輯/etc/sysconfig/network-scripts/ifcfg-eth0文件,來修改IP地址

    MACADDR=11:22:33:44:55:66    臨時需改MAC地址

    DEVICE=NET_NAME          指定網卡名

    NAME=NET_NAME          指定網卡名

    BOOTPROTO=static        指定IP獲取類型,none   dhcp    static,如果為DHCP就會自動從dhcp服務其上獲取IP\NEMAST\DNS\GATEWAY等相關信息

    IPADDR=10.0.0.8          指定IP地址

    NETMASK=255.255.255.0      指定子網掩碼

    PREFIX=24           指定掩碼長度,CIDR的寫法

    GATEWAY=10.0.0.1        指定預設網關,用於跨網段通信

    DNS1=222.222.222.222       指定預設DNS

    DNS2=             指定備用DNS

    ONBOOT=yes           開機自啟動

    MOMAIN=haha.com       自動補充搜索功能變數名稱

  

  如果想要在一個網卡上設置多個IP地址,網卡別名需要靜態指定,不能動態獲取。

  同時這個配置文件名需要時ifcfg-eth#:#,對應的DEVICE和NAME中需要對應的改成eth#:#

 

圖形管理工具:

  centos5\6:

    setup

    system-config-network-tui

 

  centos7\8:

    nmtui

    nmtui-connect

    nmtui-edit

    nmtui-hostname

 

三、與主機名相關的配置文件

  centos6:

    編輯/etc/sysconfig/network文件,來修改主機名

    hostname命令可以臨時修改主機名

  centos7\8:

    編輯/etc/hostname文件,來修改主機名

    hostname命令可以臨時修改主機名

     hostnamectl set-hostname HOSTNAME  此命令會立即生效,同時會修改配置文件

    備註:如果/etc/hostname文件不存在,主機名會預設改成localhost.localdomain

 

四、與路由相關的配置文件

需要手工創建:

保存再/etc/sysconfig/nework-scripts/route-IFACE route-固定格式 IFCAE用對等的網卡名替換

 

兩種寫法:

  第一種:

    10.0.0.8/8 via 172.16.0.1

 

  第二種:

    ADDRESS0=10.0.0.8

    NETMASK0=255.0.0.0

    GATEWAY0=172.16.0.1

 

    ADDRESS1=10.0.0.8

    NETMASK1=255.0.0.0

    GATEWAY1=172.16.0.1

     等等有幾條需要寫幾段

 

五、與配置IP地址等相關的小命令

 ifconfig命令
    ifconfig        顯示活動網卡信息
    ifconfig DEVICE    顯示指定網卡的網卡信息
    
    ifconfig DEVICE up|down        啟用禁用指定網卡
    ifconfig DEVICE IPADDR netmask NETMASK    給指定的網卡設定IP和NETMASK
    ifconfig DEVICE 0.0.0.0/0    臨時清空地址
    
    ifconfig DEVICE:# IPADDR/NETMASK        給指定的網卡設置別名,同時指定IP和子網掩碼長度
        ifconfig DEVICE:# down                取消網卡別名
    選項:
        -s             統計網卡的傳輸信息
        -a            顯示所有網卡信息,包括禁用和啟用

    備註:使用ip addr add 添加的非主要地址ifconfig是看不到,只能使用ip addr show查看。
        ifconfig可以查看到網卡別名,如果想要清楚某個網卡別名可以直接禁用了 ifconfig eth1:1 down就直接沒有了

 

ip命令
        來自於iproute軟體包
       ip [ OPTIONS ] OBJECT  COMMAND | help
       ip [ -force ] -batch filename
       

        address子集
            show            顯示地址相關信息
                ip addr show
                ip addr show dev eth1        只顯示指定eth1網卡的相關信息,關鍵字dev可以省略
                ip addr show to 10/8        只顯示10.0.0.0網段的地址
                ip addr show label eth1:1    只顯示eth1:1網卡別名的地址相關信息
            add             添加地址相關信息
                ip address add ADDR/PREFIX dev DEVICE label I:2

            del                刪除地址相關信息
                ip address del ADDR/PREFIX dev DEVICE label I:2
            
            flush            清空地址相關信息
                ip addr flush dev eth0    清空eth0上的所有地址
                ip addr flush dev eth1 to 10.3/16    刪除eth1網卡上10.3.0.0網段的所有相關地址

        route子集
            show            顯示路由條目信息,可省略
                ip route
            add                添加路由條目相關信息
                ip route add 10.1.0.0/24 via 10.1.0.1 dev eth0 proto static metric 100
                ip route add  default via 7.7.7.200 dev eth0     添加預設路由
                ip route add default via 8.8.8.200 dev eth0        
            
            del                刪除路由條目相關信息
                ip route del 10.1.0.0/24 via 10.1.0.1
                ip route del default dev eth0


        link子集
            show        
                ip link show    顯示網路介面信息,show可以省略,ip link 和 ip link show 結果一樣
                ip link show DEVICE    顯示指定的DEVICE網卡介面信息
            set
                ip link set DEVICE up|down    啟用或禁用某個網卡,與ifconfig DEVICE on|off功能一致
                ip link set DEVICE apr on|off    啟用或禁用某個網卡的arp功能
                ip link set DEVICE multicast on|off    啟用或禁用某個網卡的多撥功能
                ip link set DEVICE name NEW_DEIVCE_NAME    給某個網卡改名,但是改名的前需要先禁用網卡
                ip link set DEVICE mtu MTU        指定某個網卡的mtu大小
                ip link set DEVICE promisc on|off    指定某個網卡啟用或禁用混雜模式,主要用於抓包
               
        選項:
            -s            顯示介面統計統計信息
                ip -s link        顯示介面統計信息,和netstat -i命令、ifconfig -s命令顯示功能一樣
            -c            有顏色輸出,會在網卡地址或網卡名稱處加以顏色顯示,建議定義成別名alias ip='ip -c'

 

route命令
    route            顯示路由表
    route -n        以數字方式顯示路由表
    route add/del [-net|-host|default] target [netmask Nm] [gw Gw] [dev If]
    例:
        route add -host 172.8.2.100/24 gw 10.0.0.1 dev eth1        添加一條主機路由,需要經10.0.0.1網關出去,指定eth1網卡出口,可以省略指定網卡
        route add -net 10.0.0.0/8 gw 192.168.0.1                 添加一條網路路由,需要經192.168.0.1網關出去,
        route default gw 10.0.0.1 dev eth0                        添加一條預設路由
        route del -net 10.0.0.0/8 gw 192.168.0.1                刪除指定的網路路由條目
        route del -host 172.8.2.100/24 gw 10.0.0.1 dev eth1        刪除指定的主機路由
        route del default gw 10.0.0.1                            刪除預設路由

 

arp命令
    arp -n     可以查看通信過的IP地址和MAC的對應關係
        -d IPADDR    刪除指定IPADDR地址
        -s IPADDR  MAC    綁定IP地址和MAC綁定,ARP綁定的優先順序最高

nmcli命令
    IP地址的另外一個配置命令,是一個龐大的命令集合。多用來廣管理網卡配置文件
    
    語法:nmcli [ OPTIONS ] OBJECT  COMMAND | help
    
        OBJECT=help | general | networking | radio | connection | device | agent | monitor
        
        
    connection子集                針對的是網卡配置文件
        子集語法:nmcli connection show | up | down | modify | add | edit | clone | delete | monitor | reload | load | import | export   [ARGUMENTS...]
        
        show [DEVICE]            顯示所有或指定網卡狀態信息
        
        reload                重新載入網卡配置文件    
        
        up DEVICE_C            啟用啟用某個網卡的某個配置文件
        
        down DEVICEC_C        禁用啟用某個網卡的某個配置文件
        
        add     OPTION                            給指定網卡添加配置文件
            OPTION:
                ifname    DEVICE                相當於配置文件DEVICE=那列,這裡必須指定
                type    ethernet            相當於配置文件TYPE=那列,這裡必須指定
                con-name NEW_NAME            相當於配置文件NAME=那列
                ipv4.method    auto|manual|disabled        
                                            auto就是dhcp    manual就是static    相當於配置文件BOOTPROTO=那列,這裡必須指定
                ipv4.addresses    IP/NATMASK    IP地址和掩碼
                ipv4.dns                    DNS
                ipv4.gateway                網關
                ipv4.routes                    路由

        delete                    刪除指定網卡的配置文件
                
        modify DEVICE_C OPTION    編輯某個網卡配置文件
            OPTION:
                con-name NEW_NAME            修改網卡配置文件名
                                            例:    nmcli connection modify eth2 con-name eth2-jia        把網卡配置文件名eth2改成eth2-jia
                ipv4.method    auto|manual|disabled        
                                            auto就是dhcp    manual就是static    
                ipv4.addresses    IP/NATMASK    修改IP地址和掩碼
                ipv4.dns                    修改DNS
                ipv4.gateway                修改網關
                ipv4.routes                    修改路由
                

    device子集                針對的是網卡
        子集語法:nmcli device status | show | set | connect | reapply | modify | disconnect | delete | monitor | wifi | lldp  [ARGUMENTS...]
        
        status                顯示網卡狀態,可以省略。nmcli device 等同於 nmcli device status
        
        show [DEVICE]        查看網卡具體屬性信息,後面如果指定網卡了,可以顯示指定網卡的具體屬性信息
        
        connect DEVICE        連接指定網卡
        
        disconnect DEVICE    斷開連接指定網卡
        
        delete    DEVICE        刪除指定軟設備。This device is not a software device or is not realized
        
        


hostnamectl命令
    僅在centos7\8有此命令
    hostnamectl set-hostname haha        把主機名改成haha,立即生效,同時會修改配置文件/etc/hostname
    hostnamectl status                    顯示主機名,內核版本信息,操作系統版本信息等等
            [root@haha8 ~]# hostnamectl status
               Static hostname: haha8
                     Icon name: computer-vm
                       Chassis: vm
                    Machine ID: 18fe9b54d4144939aef656523690f3ed
                       Boot ID: 75b58ca1fca043b0b86b3adbaea7c04e
                Virtualization: vmware
              Operating System: CentOS Linux 8 (Core)
                   CPE OS Name: cpe:/o:centos:centos:8
                        Kernel: Linux 4.18.0-147.el8.x86_64
                  Architecture: x86-64

 

 

六、多網卡綁定的介紹

 

共7種模式:0-6 mode

  MOde 0(balance-rr)  輪詢策略,從頭到尾順序的

  Mode 1(active-backup) 主備策略,只有一個slave被激活

  MOde 3(broadcast) 廣播模式,再所有的slave介面上傳送所有的報文,提供容錯能力

   備註:

    active-backup、balance-tlb 和 balance-alb 模式不需要交換機的任何特殊配置。其他綁定模式需要配置交換機以便整合鏈接。

 

創建bonding設備的配置文件

  需要編輯/etc/sysconfig/network-scripts/ifcfg-bond0

    TYPE=band

    DEVICE=band0

    BOOTPROTO=none

    IPADDR=10.0.0.100

    PREFIX=24

    BONDING_OPTS="mode=1 miimon=100"

    備註:miimon是指監測鏈路時間間隔,如果miimon=100,表示每100ms,檢測一次,如果一條鏈路不通,就立刻轉入另一條線路

 

 

同時還需要再網卡配置文件中修改/etc/sysconfig/network-scripts/ifcfg-eth0和ifcfg-eth1

    DEVICE=eth#

    NAME=eth#

    MASTER=bond0

    SLAVE=yes

    ONBOOT=yes

 

可以通過查看/proc/net/bonding/bond0綁定多網卡的具體信息。

 

卸載bond網卡

  第一步,需要卸載bonding的內核模塊

  第二步,刪除ifcfg-bond0配置文件,同時更改ifcfg-eth0和ifcfg-eth1文件

  第三步,重啟網路服務

 

 

除了手工編寫配置問價的方法外,還可以nmcli命令來生成配置文件

 

#生成bond0配置文件

nmcli connection add ifname bond0 con-name bond0 type  bond ipv4.method manual ipv4.addresses 10.0.0.18/24 ipv4.gateway 10.0.0.2 ipv4.dns 222.222.222.222 mode active-backup

 

#生成各網卡的bond的子文件

nmcli connection add ifname ens160 con-name ens160 type bond-slave master bond0

nmcli connection add ifname ens192 con-name ens192 type bond-slave master bond0

nmcli connection add ifname ens224 con-name ens224 type bond-slave master bond0

 

#啟用各網卡配置文件

nmcli connection up ens160

nmcli connection up ens192

nmcli connection up ens224

 

 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 最近2年一直能看到 Net Core的介紹,看到支持WPF和Winform引起了興趣,寫簡單Demo運行看效果和瞭解部署。 現在準備把項目正式遷移到.Net Core, 就先用了一個比較單一的項目試試,編譯很大部分很順利通過,沒有什麼需要註意, 也就沒有什麼印象,一運行不得了各種報錯。 也沒有去看具... ...
  • 我想快速給WPF程式添加托盤菜單 1 簡單要求: 使用開源控制項庫 在XAML中聲明托盤菜單,就像給控制項添加ContextMenu一樣 封裝了常用命令,比如:打開主窗體、退出應用程式等 我在TerminalMACS中添加了托盤菜單,最終實現的托盤菜單效果: 2 如何做? 【Step 1】在已創建的WP ...
  • 一、原理與環境 在生成數據表的實體類時,利用自定義特性,給它打上表及欄位的特性,然後使用反射原理,將自定義特性拼接成增、刪、改、查對應的SQL,即可完成一個簡單的ORM。 本示例的執行環境: 1)資料庫:SQL Server。(可根據自己的需要,建立不同的資料庫工廠。) 2)數據表:需使用自增類型( ...
  • 被微軟收購的 GitHub 現在十分土豪,提供了免費的伺服器給咱構建。剛好微軟對 dotnet 的支持是特別好的,畢竟還算半個自家的東西,大概只需要 3 分鐘就可以在 github 上通過 Action 部署持續集成,本文以 SourceYard 作為例子告訴大家如何配置 ...
  • Ffmpeg的視頻操作官網文檔:https://ffmpeg.org/ffmpeg-filters.html#Video-Filters 視頻壓縮用到的參數主要為以下幾個: 文件路徑:-i 輸入文件的路徑 碼率:-b:v 輸出文件的碼率 解析度:-s 輸出文件的解析度; 幀率:-r 輸出文件的幀率值 ...
  • C FileStream類 在 C 語言中文件讀寫流使用 FileStream 類來表示,FileStream 類主要用於文件的讀寫,不僅能讀寫普通的文本文件,還可以讀取圖像文件、聲音文件等不同格式的文件。區別於File類的是它對文件可進行分步讀寫,減小記憶體壓力,缺點是我們需要手動的關閉和釋放資源, ...
  • C File文件類 C 語言中 File 類同樣可以完成與 FileInfo 類相似的功能,但 File 類中也提供了一些不同的方法。 File 類中獲取或設置文件信息的常用方法如下表所示。 | 屬性或方法 | 作用 | | | | | DateTime GetCreationTime(string ...
  • c Path路徑類 Path類是static類型 常用方法 實現 屬性方法 | 屬性或方法 | 作用 | | | | | string ChangeExtension(string path, string extension) | 更改路徑字元串的擴展名 | | string Combine(pa ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...