Linux網絡屬性配置

linux 如何連網,且與其餘網絡的主機怎樣通訊?linux


解決方案一:ip命令:ip [ OPTIONS ] OBJECT { COMMAND | help } 服務器

             OBJECT := { link | addr | route | netns  }
網絡

改變設備接口的屬性 ip link  set  dev NAME (default)          socket

   :指明要管理的設備,dev關鍵字可省略;tcp

up和down:ide

multicast on或multicast off:啓用或禁用多播功能;測試

name NAME:重命名接口ui

tu NUMBER:設置MTU的大小,默認爲1500;url

 netns NAME:ns爲namespace,用於將接口移動到指定的網絡名稱空間;spa

spacer.gif

wKioL1bzTZqDNukVAAkYRrNEpi8090.bmp

顯示設備的屬性   ip  link  show   能夠指定顯示某個設備的屬性

       spacer.gifwKiom1bzTXeBFDP4AAZS5iHrzTc505.bmp

管理網絡名稱空間  ip  netns  list:列出全部的netns


  ip  netns  add  NAME:建立指定的netns

  ip  netns  del  NAME:刪除指定的netns

  ip  netns   exec  NAME  COMMAND:在指定的netns中運行命令



增長ip地址  ip  addr  add  IFADDR  dev  IFACE


[label NAME]:爲額外添加的地址指明接口別名;

[broadcast ADDRESS]:廣播地址;會根據IP和NETMASK自動計算獲得;

[scope SCOPE_VALUE]:global:全局可用;link:接口可用;


刪除ip地址 ip addr  delete  IFADDR  dev  IFACE 

 wKiom1bzTe7T5EoLAA2ISmneqfo046.bmp  

顯示接口的ip地址 ip  addr   list  [IFACE]:顯示接口的地址;

spacer.gif

清除接口的全部ip地址 ip  addr  flush  dev  IFACE

爲主機新增路由條目 ip  route   add  TYPE PREFIX  via GW  [dev  IFACE]  [src SOURCE_IP]

          

 示例:# ip route add 192.168.0.0/24  via 10.0.0.1  dev eth1 src  10.0.20.100


       # ip  route  add default  via  GW

               spacer.gif

爲主機刪除路由條目 ip  route  del  TYPE PRIFIX 

示例:# ip  route delete  192.168.1.0/24

顯示網絡接口的路由條目 ip route show 

清空本機網絡接口的路由條目 ip route flush 

ip  route  get  TYPE PRIFIX

            示例:ip route  get  192.168.0.0/24

注:以上均是命令行下配置,可以立刻生效。重啓後會失效。


wKioL1bzTtvBqPZvAAgx3tf_kQw614.bmp




解決方案:更改配置文件

配置文件:

改ip的配置文件:IP/NETMASK/GW/DNS等屬性的配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE 注:IFACE:接口名稱

     ifcfg-IFACE配置文件參數

DEVICE:此配置文件對應的設備的名稱;

ONBOOT:在系統引導過程當中,是否激活此接口;

UUID:此設備的唯一標識;

IPV6INIT:是否初始化IPv6;

BOOTPROTO:激活此接口時使用什麼協議來配置接口屬性,經常使用的有dhcp、bootp、static、none;

TYPE:接口類型,常見的有Ethernet, Bridge;

DNS1:第一DNS服務器指向;

DNS2:備用DNS服務器指向;

DOMAIN:DNS搜索域;

IPADDR: IP地址;

NETMASK:子網掩碼;CentOS 7支持使用PREFIX以長度方式指明子網掩碼;

GATEWAY:默認網關;

USERCTL:是否容許普通用戶控制此設備;

PEERDNS:若是BOOTPROTO的值爲「dhcp」,是否容許dhcp server分配的dns服務器指向覆蓋本地手動指定的DNS服務器指向;默認爲容許;

HWADDR:設備的MAC地址;

                                NM_CONTROLLED:是否使用NetworkManager服務來控制接口;  通常都禁用掉




改路由的相關配置文件:/etc/sysconfig/networkj-scripts/route-IFACE

支持兩種配置方式,但不可混用;

(1) 每行一個路由條目:

TARGET  via  GW

例如:172.18.0.0/16  via  0.0.0.0

(2) 每三行一個路由條目:

ADDRESS0=172.18.0.0

NETMASK0=255.255.0.0

GATEWAY0=0.0.0.0

圖形化界面更改:

(CentOS 6:system-config-network (setup),CentOS 7: nmtui)

注:以上更改之後,都要重啓一下網絡服務network

CentOS 6:  service  SERVICE  {start|stop|restart|status}

CentOS 7:systemctl  {start|stop|restart|status}  SERVICE[.service]









網絡屬性查看類命令介紹:

ss命令:ss  [options]  [ FILTER ]

選項:

-t:TCP協議的相關鏈接

-u:UDP相關的鏈接

-w:raw socket相關的鏈接

-l:監聽狀態的鏈接

-a:全部狀態的鏈接

-n:數字格式

-p:相關的程序及其PID

-e:擴展格式信息

-m:內存用量

-o:計時器信息

經常使用組合:-tan,  -uan,  -tnl,  -unl,  -tunlp

很是好用的「過濾器」FILTER := [ state TCP-STATE ]  [ EXPRESSION ]

TCP的常見狀態STATE

LISTEN:監聽

ESTABLISEHD:創建的鏈接

FIN_WAIT_1:

FIN_WAIT_2:

SYN_SENT:

SYN_RECV:

CLOSED:

               ~]# ss  -tan  state  ESTABLISHED

spacer.gifwKioL1bzTzOgKLfjAAMUer0LM-E277.bmp

EXPRESSION:

dport = 目標端口

sport = 源端口

示例:'( dport = :22 or sport = :22)'

           ~]# ss   -tan    '(  dport = :22 or sport = :22  )'

spacer.gifwKioL1bzT1KAlJImAATHFkcN8i0649.bmp

給接口配置多個地址:

ip addr以外,ifconfig或配置文件均可以;

(1) ifconfig  IFACE_LABEL  IPADDR/NETMASK

IFACE_LABEL: eth0:0, eth0:1, ...

(2) 爲別名添加配置文件;

DEVICE=IFACE_LABEL

BOOTPROTO:網上別名不支持動態獲取地址;

static, none

nmcli命令:

nmcli  [ OPTIONS ] OBJECT { COMMAND | help }

device - show and manage network interfaces

COMMAND := { status | show | connect | disconnect | delete | wifi | wimax }

connection - start, stop, and manage network connections

COMMAND := { show | up | down | add | edit | modify | delete | reload | load }

modify [ id | uuid | path ] <ID> [+|-]<setting>.<property> <value>

如何修改IP地址等屬性:

# nmcli  conn  modify  IFACE  [+|-]setting.property  value

ipv4.address

ipv4.gateway

ipv4.dns1

ipv4.method

manual

課外做業:nmap, ncat, tcpdump命令;






&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

知識拓展

ifcfg命令家族: ifconfig, route, netstat

ifconfig命令:接口及地址查看和管理

ifconfig  [INTERFACE]

# ifconfig -a:顯示全部接口,包括inactive狀態的接口;

ifconfig interface [aftype] options | address ...

# ifconfig  IFACE  IP/MASK  [up|down]

# ifconfig  IFACE  IP  netmask  NETMASK  

options:

[-]promisc 混雜模式

管理IPv6地址:

add addr/prefixlen

del  addr/prefixlen

route命令:路由查看及管理

路由條目類型:

主機路由:目標地址爲單個IP;

網絡路由:目標地址爲IP網絡;

默認路由:目標爲任意網絡,0.0.0.0/0.0.0.0

查看:

# route  -n

添加:

route  add  [-net|-host]  target  [netmask  Nm]  [gw GW]  [[dev] If]

示例:    route add -net  10.0.0.0/8  gw  192.168.10.1  dev  eth1

  route add  -net  0.0.0.0/0.0.0.0  gw 192.168.10.1  

  route add  default  gw 192.168.10.1  

            

刪除:

route  del  [-net|-host] target  [gw Gw]  [netmask Nm]  [[dev] If]

示例: route  del  -net  10.0.0.0/8  gw 192.168.10.1

       route  del  default

     

netstat命令:

顯示路由表:netstat  -rn

      -r:顯示內核路由表

      -n:數字格式

顯示網絡鏈接:

netstat  [--tcp|-t]  [--udp|-u]  [--udplite|-U]  [--sctp|-S]  [--raw|-w]  [--listening|-l]  [--all|-a]  [--numeric|-n]   [--extend|-e[--extend|-e]]  [--program|-p]

-t:TCP協議的相關鏈接,鏈接均有其狀態;FSM(Finate State Machine);

-u:UDP相關的鏈接

-w:raw socket相關的鏈接

-l:處於監聽狀態的鏈接

-a:全部狀態

-n:以數字格式顯示IP和Port;

-e:擴展格式

-p:顯示相關的進程及PID;

經常使用組合:

-tan,  -uan,  -tnl,  -unl,  -tunlp

傳輸層協議:

tcp:面向鏈接的協議;通訊開始以前,要創建一個虛鏈路;通訊完成後還要拆除鏈接;

udp:無鏈接的協議;直接發送數據報文;

顯示接口的統計數據:

全部接口:netstat  -i

指定接口:netstat  -I<IFace>

ifup/ifdown命令:

               注意:經過配置文件/etc/sysconfig/network-scripts/ifcfg-IFACE來識別接口並完成配置;

配置主機名:

查看:hostname

配置:hostname  HOSTNAME  當前系統有效,重啓後無效;

hostnamectl命令(CentOS 7):

hostnamectl  status:顯示當前主機名信息;

hostnamectl  set-hostname:設定主機名,永久有效;

配置文件:/etc/sysconfig/network

HOSTNAME=<HOSTNAME>

注意:此方法的設置不會當即生效; 但之後會一直有效;

配置DNS服務器指向:

配置文件:/etc/resolv.conf

nameserver   DNS_SERVER_IP

如何測試(host/nslookup/dig):

# dig  -t  A  FQDN

FQDN --> IP

# dig  -x  IP

IP --> FQDN

相關文章
相關標籤/搜索