中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

詳解Linux 主機網絡接入配置

發布時間:2020-08-30 18:32:27 來源:腳本之家 閱讀:259 作者:Leshami 欄目:服務器

詳解Linux 主機網絡接入配置

前言:

網絡配置是我們在安裝好操作系統之后,需要解決的第一步。現時代沒有接入網絡的主機已然等同于一堆廢鐵。在網絡配置的過程中,通常我們需要配置本機IP地址,缺省網關,DNS,主機名等等。本文主要描述在Linux環境下,主要以傳統命令行方式講解如何將主機接入網絡。對于網路配置的新命令如ip,nmcli等等在以后的文章中描述。

一、網絡配置概述

主機接入互聯網前提:遵循TCP/IP協議棧

配置主機接入TCP/IP網絡需要配置的內容:

  IP/Netmask
  路由:
    主機路由:一臺主機
    網絡路由:是一個網絡
    默認路由(缺省網關):
  DNS服務器
    主DNS服務器
    備用DNS服務器
  主機名:computer_name.domain.com

網絡設備表示方法(CentOS7版本)

  內核識別設備:驅動

  網卡命名機制

    CentOS 7中,systemd對網絡設備的命名方式
    (a) 如果Firmware或BIOS為主板上集成的設備提供的索引信息可用,且可預測則根據此索引進行命名,例如eno1
    (b) 如果Firmware或BIOS為PCI-E擴展槽所提供的索引信息可用,且可預測,則根據此索引進行命名,例如ens1
    (c) 如果硬件接口的物理位置信息可用,則根據此信息進行命名,例如enp2s0
    (d) 如果用戶顯式啟動,也可根據MAC地址進行命名,enx2387a1dc56;
    (e) 上述均不可用時,則使用傳統命名機制,基于BIOS支持biosdevname中
    (f) 本地回環 lo
    內置網卡:em1,em2
     pci卡:pYpX Y:slot ,X:port

  名稱組成格式

    en: Ethernet 有線局域網
    wl: wlan 無線局域網
    ww: wwan無線廣域網

  名稱類型:

    o: 集成設備的設備索引號
    s: 擴展槽的索引號
    x: 基于MAC地址的命名
    ps: enp2s1

二、IP地址配置

動態配置(IP/Netmask):

  DHCP服務器(Dynamic Host Configuration Protocol)

靜態指定:

  用戶空間工具(ifconfig,ip命令),立即生效,但不會長久有效(地址配置在內核,顯示在用戶空間)
  網絡設備服務配置文件,完成長久有效配置:
    /etc/sysconfig/network-script/ifcfg-eth0
  GUI/TUI配置工具

網路配置命令

ifconfig(傳統配置命令)
  ifconfig:顯示所有活動狀態的相關信息
  ifconfig Interface:僅顯示指定接口的相關信息
  ifconfig Interface Address
    ip/mask
      長格式:
      ifconfig Interface IP netmask MASK
    CIDR:無類別的預見路由
    ifconfig Interface IP/MASK

ifconfig示例

# more /etc/redhat-release ###當前環境
CentOS Linux release 7.2.1511 (Core) 
# ifconfig |grep eno -A1 ###當前服務器有2塊網卡,分別為eno16777728,eno33554960
eno16777728: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.24.8.131 netmask 255.255.255.0 broadcast 172.24.8.255
--
eno33554960: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.81.144 netmask 255.255.255.0 broadcast 192.168.81.255

# ifconfig eno33554960 192.168.81.145/24
# ifconfig eno33554960|head -2
eno33554960: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.81.145 netmask 255.255.255.0 broadcast 192.168.81.255  

# ifconfig eno33554960 down ###禁用當前網卡
# ifconfig eno33554960 up  ###激活當前網卡
# ifconfig eno33554960|head -2 ###再次查看網卡,由于使用了DHCP,IP地址被分配為原地址
eno33554960: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.81.144 netmask 255.255.255.0 broadcast 192.168.81.255

網卡手工配置示例
# vi /etc/sysconfig/network-scripts/ifcfg-eno16777728 
TYPE="Ethernet"   //指定網絡類型為以太網模式
BOOTPROTO="dhcp" //指定啟動地址協議的獲取方式(dhcp或bootp為自動獲取,none
DEFROUTE="yes"  //是否把這個eno16777728設置為默認路由 
PEERDNS="yes"   //是否允許DHCP服務分配地址時直接更新/etc/resolv.conf中的DNS服務器地址
PEERROUTES="yes"
IPV4_FAILURE_FATAL="no" //如果IPv4配置失敗,設備是否被禁用
IPV6INIT="yes"   //允許在該網卡上啟動IPV6的功能 
IPV6_AUTOCONF="yes" //是否使用IPV6地址的自動配置
IPV6_DEFROUTE="yes"  ### Author : Leshami 
IPV6_PEERDNS="yes"   ### Blog : http://blog.csdn.net/leshami 
IPV6_PEERROUTES="yes" ### QQ/Weixin : 645746311
IPV6_FAILURE_FATAL="no"
NAME="eno16777728"  //網絡連接標識名 
UUID="52ff246a-d965-4056-b34f-16e8f4df2c0a" //網卡全球通用唯一識別碼
DEVICE="eno16777728"      //網絡連接標識名
ONBOOT="yes"        //網卡開機后自動啟動
USERCTL=no         //是否允許普通用戶操作網卡
PEERDNS={yes|no}  //是否允許DHCP服務分配地址時直接更新/etc/resolv.conf中的DNS服務器地址
# systemctl restart network.service  //重啟網絡服務,使配置生效

三、路由配置

route(傳統配置命令)
route:
 route:顯示路由信息(網關指的就是下一跳的地址,下一跳地址必須與本地主機位于同一網絡)
  -n:使用數字格式顯示,不反解地址到主機名
 route add //添加路由
  -host HOST_IP gw Next [dev Device]
  -net Net_ADDR
  -net 0.0.0.0 目標地址為任意地址,即默認路由

  route del //刪除路由
   -host HOST_IP gw 下一跳
   -net Net_ADDR gw 下一跳

示例:
# route 
# route
Kernel IP routing table
Destination Gateway  Genmask  Flags Metric Ref Use Iface
default  192.168.81.2 0.0.0.0  UG 100 0  0 eno33554960
172.24.8.0  0.0.0.0  255.255.255.0 U 100 0  0 eno16777728
192.168.81.0 0.0.0.0  255.255.255.0 U 100 0  0 eno33554960

示例中對于目表為192.168.81.0以及172.24.8.0網絡段的訪問,Gateway為4個0表示沒有網絡,也就是說屬于直連網絡,無需路由
對于目標為default的(當使用route -n時,default為4個0)網絡段時,通過缺省網關192.168.81.2連接目標指向單個
主機的為主機路由,目標網絡地址的為網絡路由,目標指向所有地址(0.0.0.0或者default)的為默認路由。  

route輸出具體描述
route命令輸出的路由表字段含義如下:
 Destination 目標
   The destination network or destination host. 目標網絡或目標主機。
 Gateway 網關
   The gateway address or '*' if none set. 網關地址,如果沒有就顯示星號。
 Genmask 網絡掩碼
   The netmask for the destination net; '255.255.255.255' for a
   host destination and '0.0.0.0' for the default route.
 Flags:總共有多個旗標,代表的意義如下:      
  U (route is up):該路由是啟動的;      
  H (target is a host):目標是一部主機 (IP) 而非網域;      
  G (use gateway):需要透過外部的主機 (gateway) 來轉遞封包;      
  R (reinstate route for dynamic routing):使用動態路由時,恢復路由資訊的旗標;      
  D (dynamically installed by daemon or redirect):已經由服務或轉 port 功能設定為動態路由      
  M (modified from routing daemon or redirect):路由已經被修改了;      
  ! (reject route):這個路由將不會被接受(用來抵擋不安全的網域!)
  A (installed by addrconf)
  C (cache entry)
 Metric 距離、跳數。暫無用。
   The 'distance' to the target (usually counted in hops). It is
   not used by recent kernels, but may be needed by routing dae-
   mons.
 Ref 不用管,恒為0。
   Number of references to this route. (Not used in the Linux ker-nel.)
 Use 該路由被使用的次數,可以粗略估計通向指定網絡地址的網絡流量。
   Count of lookups for the route. Depending on the use of -F and
 Iface 從哪一個網絡接口路由出去,如本例中的eno33554960
   Interface to which packets for this route will be sent.

添加網絡路由
 當前本機IP地址為172.24.8.131
 假定要到達目標地址為:192.168.10.0/24,下一跳為 172.24.8.2 則添加路由命令如下
 # route add -net 192.168.10.0/24 gw 172.24.8.2 ###此時為網絡網關(路由)

 # route -n
 Kernel IP routing table
 Destination Gateway  Genmask  Flags Metric Ref Use Iface
 0.0.0.0  192.168.81.2 0.0.0.0  UG 100 0  0 eno33554960
 172.24.8.0  0.0.0.0  255.255.255.0 U 100 0  0 eno16777728
 192.168.10.0 172.24.8.2  255.255.255.0 UG 0  0  0 eno16777728 
 192.168.81.0 0.0.0.0  255.255.255.0 U 100 0  0 eno33554960

 可以看到上述多出了一條路由記錄,目標網絡為192.168.10.0
 新添加的路由接口設備自動使用了eno16777728網卡,因為172.24.8.2與eno16777728 IP為同一網段內

添加主機路由
 假定要到達目標地址為:192.168.20.1,下一跳為: 172.16.100.177 
 # route add -host 192.168.20.1 gw 172.16.100.177
 SIOCADDRT: Network is unreachable #提示網絡不可達,因為172.16.100.177不在當前兩塊網卡的任一網段內

 下面修改下一跳地址為172.24.8.254再次嘗試添加
  # route add -host 192.168.20.1 gw 172.24.8.254 ###此處無需指定隱碼
  # route -n ###在下面的列表中Flags有一個H,表示此條為主機路由
  Kernel IP routing table
  Destination Gateway  Genmask  Flags Metric Ref Use Iface
  0.0.0.0  192.168.81.2 0.0.0.0  UG 100 0  0 eno33554960
  172.24.8.0  0.0.0.0  255.255.255.0 U 100 0  0 eno16777728
  192.168.10.0 172.24.8.2  255.255.255.0 UG 0  0  0 eno16777728
  192.168.20.1 172.24.8.254 255.255.255.255 UGH 0  0  0 eno16777728
  192.168.81.0 0.0.0.0  255.255.255.0 U 100 0  0 eno33554960

 路由表描述
  對于請求到192.168.10.0的網路,路由地址為172.24.8.2,經由網卡eno16777728
  對于請求到192.168.20.1的主機,路由地址為172.24.8.254,經由網卡eno16777728
  對于請求172.24.8.0以及192.168.81.0的網絡,為直連網絡,無需路由
  對于請求到0.0.0.0的網絡經由192.168.81.2從網卡eno33554960進行路由,如訪問百度則由此路由

 # ping www.baidu.com -c 2
 PING www.baidu.com (14.215.177.38) 56(84) bytes of data.
 64 bytes from 14.215.177.38: icmp_seq=1 ttl=128 time=5.76 ms
 64 bytes from 14.215.177.38: icmp_seq=2 ttl=128 time=6.13 ms

刪除路由
 假定需要刪除默認路由
  # route del -net 0.0.0.0 netmask 0.0.0.0 ###等價于 route del default
  # route |grep -i default

  # ping www.baidu.com ###缺省路由被刪除后,ping百度不可達
  connect: Network is unreachable    

 刪除之前添加的網絡路由和主機路由    
  # route del -net 192.168.10.0/24
  # route del -host 192.168.20.1
  # route -n
  Kernel IP routing table
  Destination Gateway  Genmask  Flags Metric Ref Use Iface
  172.24.8.0  0.0.0.0  255.255.255.0 U 100 0  0 eno16777728
  192.168.81.0 0.0.0.0  255.255.255.0 U 100 0  0 eno33554960

添加缺省網關
 # route add default gw 192.168.81.2
 # route add -net 0.0.0.0 gw 192.168.81.2 ###與上一條命令等價

路由靜態配置文件
 /etc/sysconfig/network
 /etc/sysconfig/network-scripts/route-ethX | route-pppX

 配置文件的格式1:每行一個要配置的路徑條目
  目標 via 下一跳 
  例子:
  192.168.0.0/24 via 172.16.100.177

 配置文件的格式2:每一組一個路由條目
  ADDRESS#=目標
  NETMASK#=掩碼
  GATEWAY#=下一跳

  ADDRESS0=192.168.0.0
  NETMASK0=255.255.255.0
  GATEWAY0=172.16.100.1

四、DNS配置

DNS服務器指向:
 配置文件:/etc/resolv.conf
  最多三個:
    nameserver DNS_SERVER_IP
    nameserver 8.8.8.8

 測試DNS解析
  dig -t A 域名 //正解測試
  dig -x IP  //反解測試

查看當前主機DNS解析配置
 # more /etc/resolv.conf 
 # Generated by NetworkManager
 search localdomain example.com
 nameserver 192.168.81.2
 nameserver 172.24.8.1

 # dig -t A www.oracle.com

 ; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7 <<>> -t A www.oracle.com
 ;; global options: +cmd
 ;; Got answer:
 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11680
 ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0

 ;; QUESTION SECTION:
 ;www.oracle.com.      IN  A

 ;; ANSWER SECTION:
 www.oracle.com.  5  IN  CNAME ds-www.oracle.com.edgekey.net.
 ds-www.oracle.com.edgekey.net. 5 IN CNAME e11582.dscx.akamaiedge.net.
 e11582.dscx.akamaiedge.net. 5 IN  A  184.28.37.127

 ;; Query time: 12 msec
 ;; SERVER: 192.168.81.2#53(192.168.81.2) //通過本地IP 192.168.81.2遞交外部DNS服務器解析
 ;; WHEN: Mon Sep 04 21:14:31 CST 2017
 ;; MSG SIZE rcvd: 128

 # dig -x 184.28.37.127

 ; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7 <<>> -x 184.28.37.127
 ;; global options: +cmd
 ;; Got answer:
 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20357
 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 8, ADDITIONAL: 9

 ;; OPT PSEUDOSECTION:
 ; EDNS: version: 0, flags:; MBZ: 0005 , udp: 512
 ;; QUESTION SECTION:
 ;127.37.28.184.in-addr.arpa. IN  PTR

 ;; ANSWER SECTION:
 127.37.28.184.in-addr.arpa. 5 IN  PTR a184-28-37-127.deploy.static.akamaitechnologies.com.

 ;; AUTHORITY SECTION:
 28.184.in-addr.arpa. 5  IN  NS  ns5.reverse.deploy.akamaitechnologies.com.
 28.184.in-addr.arpa. 5  IN  NS  ns1.reverse.deploy.akamaitechnologies.com.
 28.184.in-addr.arpa. 5  IN  NS  ns7.reverse.deploy.akamaitechnologies.com.
 28.184.in-addr.arpa. 5  IN  NS  ns3.reverse.deploy.akamaitechnologies.com.
 28.184.in-addr.arpa. 5  IN  NS  ns4.reverse.deploy.akamaitechnologies.com.
 28.184.in-addr.arpa. 5  IN  NS  ns8.reverse.deploy.akamaitechnologies.com.
 28.184.in-addr.arpa. 5  IN  NS  ns2.reverse.deploy.akamaitechnologies.com.
 28.184.in-addr.arpa. 5  IN  NS  ns6.reverse.deploy.akamaitechnologies.com.

 ;; ADDITIONAL SECTION:
 ns1.reverse.deploy.akamaitechnologies.com. 5 IN A 96.7.50.32
 ns2.reverse.deploy.akamaitechnologies.com. 5 IN A 2.16.40.32
 ns3.reverse.deploy.akamaitechnologies.com. 5 IN A 23.74.25.32
 ns4.reverse.deploy.akamaitechnologies.com. 5 IN A 95.100.168.32
 ns5.reverse.deploy.akamaitechnologies.com. 5 IN A 95.100.173.32
 ns6.reverse.deploy.akamaitechnologies.com. 5 IN A 23.61.199.32
 ns7.reverse.deploy.akamaitechnologies.com. 5 IN A 184.26.161.32
 ns8.reverse.deploy.akamaitechnologies.com. 5 IN A 2.22.230.32

 ;; Query time: 205 msec
 ;; SERVER: 192.168.81.2#53(192.168.81.2)
 ;; WHEN: Mon Sep 04 21:17:05 CST 2017
 ;; MSG SIZE rcvd: 407

網絡服務啟動腳本

 CentOS 5/6:
  服務腳本:/etc/init.d/network

 CentOS 6
  服務腳本:/etc/init.d/NetworkManager

  服務腳本:SysV style LSB
   控制運行在后臺守護進程,接受參數{start|stop|restart|status}
   腳本位置:/etc/rc.d/init.d或/etc/init.d

  配置某服務開機自動啟動:chkconfig Src_Script_Name on
  禁止開機自動啟動:chkconfig Src_Script_Name off
  查看 chkconfig --list

  調用機制:
   1./etc/init.d/Script_Name {start|stop|restart|status}
   1.service Script_Name {start|stop|restart|status}

  CentOS 7
   服務腳本:/etc/init.d/network
   # systemctl start network.service

如何實現在單網卡上配置多個地址(通常用于VIP)
 通過網絡接口別名來實現
 eth0X
 eth0:X eth0:0 eth0:1....

 配置1:
 ifconfig ethX:Y IP/mask
 配置2:
 ifcfg-ethX:Y
  DEVICE=ethX:Y
  BOOTPROTO={none|static}
  IPADDR=
  NETMASK=
  GATEWAY=
 非主地址(別名地址)不支持DHCP協議獲取

五、主機名配置

短主機名,如mycomputer1
長主機名(FQDN),如mycomputer.example.com

CentOS 5/6配置主機名
 查看主機名: 
  # hostname 
  # more /etc/sysconfig/network
  # more /proc/sys/kernel/hostname

 臨時修改主機名:
  # hostname new_host_name 
  # hostname new_host_name.domain.com

 永久修改主機名(需要重啟):
  # vi /etc/sysconfig/network 

 修改以及立即生效
  # echo new_host_name >/proc/sys/kernel/hostname 
  # sysctl kernel.hostname=new_host_name     

  示例
   # more /etc/redhat-release 
   CentOS release 6.7 (Final)
   # hostname
   node133
   # hostname host133
   # hostname
   host133

   [root@host133 ~]# echo host133.example.com >/proc/sys/kernel/hostname
   [root@host133 ~]# hostname
   host133.example.com
   [root@host133 ~]# sysctl kernel.hostname=host133.example.com
   kernel.hostname = host133.example.com
   [root@host133 ~]# hostname
   host133.example.com

CentOS 7 配置主機名  
 在RHEL7中,引入了靜態(static)、瞬態(transient)和靈活(pretty)三種主機名。
 “靜態”主機名——也稱為內核主機名,是系統在啟動時從/etc/hostname自動初始化的主機名。

 “瞬態”主機名——是在系統運行時臨時分配的主機名,例如,通過DHCP或DNS服務器分配。
  靜態主機名和瞬態主機名都遵從作為互聯網域名同樣的字符限制規則。

 “靈活”主機名——是允許使用自由形式(可包括特殊/空白字符)的主機名,以展示給終端用戶(如Tom‘s Computer)

 查看主機名的命令一般格式如下:

  hostnamectl [status] [--static|--transient|--pretty] 

  選項說明如下:
  status——可同時查看靜態、瞬態和靈活三種主機名及其相關的設置信息。
  --static——僅查看靜態(永久)主機名。
  --transient——僅查看瞬態(臨時)主機名。
  --pretty ——僅查看靈活主機名。

  [root@centos7 ~]# hostnamectl status
   Static hostname: centos7.example.com
     Icon name: computer-vm
     Chassis: vm
    Machine ID: 8ef737feff1942798ec060bf5a162df6
     Boot ID: e2c8eded07f04e879d2b160d9a6bc6cf
   Virtualization: vmware
   Operating System: CentOS Linux 7 (Core)
    CPE OS Name: cpe:/o:centos:centos:7
     Kernel: Linux 3.10.0-327.el7.x86_64
    Architecture: x86-64

  修改主機名的命令一般格式如下
  # hostnamectl [--static|--transient|--pretty] set-hostname <new_hostname>

  [root@centos7 ~]# hostnamectl --transient
  centos7.example.com

  # hostnamectl --transient set-hostname centos7-a //修改瞬態主機名
  # hostnamectl       //查看修改后的瞬態主機名
   Static hostname: centos7.example.com
  Transient hostname: centos7-a

  # hostnamectl --static  //查看修改前的靜態主機名
  centos7.example.com   
  # hostnamectl --static set-hostname centos7-a.example.com //修改靜態主機名
  # hostnamectl --static        //查看修改后的瞬態主機名
  centos7-a.example.com

  Hostnamectl設置主機名后,會立即刷新內核主機名,以及更新/etc/hostname文件,
    但當前Bash提示符需重新登陸shell

  [root@centos7 ~]# bash     //重新開啟shell
  #

  /etc/hosts文件中主機名不會自動更新,應手動更新主機名與IP地址的映射關系

   vim /etc/hosts
  127.0.0.1  localhost localhost.localdomain localhost4 localhost4.localdomain4
  ::1  localhost localhost.localdomain localhost6 localhost6.localdomain6
  192.168.81.142 centos7-a.example.com centos7-a //添加此行,其中192.168.81.142是本機IP地址
  :wq    //保存退出 

如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

潜山县| 平湖市| 石家庄市| 房山区| 鸡东县| 土默特右旗| 喜德县| 新邵县| 南丰县| 忻州市| 建阳市| 新宾| 大埔县| 吉林市| 泾阳县| 滨海县| 洛隆县| 正定县| 湘乡市| 武功县| 衢州市| 邵阳市| 攀枝花市| 彭阳县| 松桃| 广西| 元阳县| 泾阳县| 绥德县| 边坝县| 潮安县| 上犹县| 巢湖市| 嘉义县| 永寿县| 吉安市| 乌什县| 福贡县| 柘荣县| 盐亭县| 东港市|