Linux 網絡配置及命令

 首先要了解linux中各個配置文件的路徑
linux

   網卡的配置文件:/etc/sysconfig/network-scripts/ifcfg-eth0
服務器

   主機名配置文件:/etc/sysconfig/network
網絡

   靜態主機配置文件:/etc/hosts
socket

 接下來是文件中的內容首先 若是在局域網中有可自動分配IP的服務器,則可設置自動獲取IP,若是沒有DHCP服務器須要手動配置IP,即在網卡的配置文件中修改:tcp

   /etc/sysconfig/network-scripts/ifcfg-eth0  內容以下ide

DEVICE=eth0                           網卡設備名工具

BOOTPROTO=none                         是否自動獲取IP(none、static、dhcp)spa

HWADDR=00:0c:29:17:c4:09                  MAC地址3d

NM_CONTROLLED=yes                      是否能夠由Network Manager圖形管理工具託管接口

ONBOOT=yes                          是否隨網絡服務啓動,eth0生效

TYPE=Ethernet                        類型爲以太網

UUID= "44b76c8a-b59f-44d5-83fa-7f98fda86b3d"    惟一識別碼

IPADDR=192.168.0.252                    IP地址

NETMASK=255.255.255.0               子網掩碼  

GATEWAY=192.168.0.1                   網關

DNS1=202.106.0.20                  DNS

IPV6INIT=no                    IPv6沒有啓用

USERCTL=no                    不容許非root用戶控制此網卡


 再有就是用命令查看和更改網絡配置

 ifconfig命令

  這個命令是用來查看網絡接口的配置信息,也能夠用來配置網絡接口的IP地址信息等

  好比 

    # ifconfig eth1 172.16.100.105 netmask 255.255.255.192

     爲eth1網絡端口配置IP地址爲172.16.100.105 子網掩碼爲255.255.255.192

  若是ifconfig後面有特定接口名稱做爲參數,則不管接口是否處於激活狀態,都顯示該網絡接口的信息;若是沒有的話就顯示全部處於激活狀態的網絡接口信息;

    有個經常使用選項

      -a :顯示全部網絡接口,不管其是否處於激活狀態

 route命令

經常使用選項;

  -n:以數字化顯示主機名(IP地址)和端口


  設置路由信息:

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

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


  設置默認網關的方法:default == -net 0.0.0.0/0

  route add default gw 192.168.100.1


  刪除默認網關的方法

  routedel default

  routedel default gw 172.16.0.1


  添加靜態路由的方法:

  route add -net 10.0.0.0/8 gw 192.168.220.100 [dev eth2]


  刪除靜態路由的方法

  route del -net問問10.0.0.0/8

  route del -net 10.0.0.0/8 gw 192.168.220.100

 netstat命令

    用於顯示各類網絡相關信息,如網絡鏈接,路由表,接口狀態 (Interface Statistics),masquerade 鏈接等等。

     經常使用選項

      顯示網絡接口的有:

          [--tcp|-t]:只顯示與TCP協議相關的網絡鏈接

  [--udp|-u] :只顯示與UDP協議相關的網絡鏈接

  [--udplite|-U]:只顯示udplite協議相關的網絡鏈接

  [--raw|-w] :顯示與裸套接字相關的網絡鏈接

  [--listen-ing|-l]:顯示處於監聽狀態的TCP鏈接      

  [--all|-a]:查看全部狀態的任意鏈接

  [--numeric|-n]:數字化顯示結果中的主機名、端口號、用戶ID等信息;

  [--extend|-e[--extend|-e]]:以擴展格式顯示結果

  [--program|-p]:顯示與該網絡鏈接相關的應用程序及進程ID

      經常使用的選項組合:

  -tan,-uan,-tnl,-unl,-ntlp,-unlp,-tunlp

        之中顯示路由表的有:       

         {--route|-r}: 顯示路由表信息

       [--extend|-e]:顯示擴展信息

           [--numeric|-n]:數字化信息

        之中顯示接口狀態的有:

          netstat {--interfaces|-I|-i} 

          [--all|-a] 

          [--extend|-e] 

          [--verbose|-v] 

          [--program|-p]   

          [--numeric|-n]

  iproute家族

    ip命令

    ip是iproute2軟件包裏面的一個強大的網絡配置工具,它可以替代一些傳統的網絡管理工具,例如ifconfig、route等,使用權限爲超級用戶。幾乎全部的Linux發行版本都支持該命令。

   使用方法:ip [ OPTIONS ] OBJECT { COMMAND | help }

          其中OBJECT可有 { link | addr| route | netns} 之中的一個

    當OBJECT爲link時有:

    ip link set [dev] IFACE_NAME {up|down} :激活或禁用網絡接口

    ip link set [dev] IFACE_NAME [arp { on | off }]:是否容許此網絡接口使用ARP協議;

  ip link set [dev] IFACE_NAME 改網絡接口名稱,須要將設備先down掉

  ip link set [dev] IFACE_NAME [mtu MTU]:修改網絡接口的MTU數值

  ip link set [dev] IFACE_NAME [ netns PID]:

  ip link set [dev] IFACE_NAME [netns NAME]:將指定的網絡接口加入到指定的網絡名稱空間中;

  ip link {show|list}:列表顯示全部的鏈路接口;只顯示鏈路層信息;

  ip link help:得到簡短的幫助信息

   當OBJECT爲addr時 即 爲網絡設備添加或刪除地址 或查看    

        ip addr add IFADDR dev IFACE_NAME:爲指定的網絡接口添加IP地址

  ip addr del IFADDR dev IFACE_NAME:將IP地址從指定的網絡接口上刪除

  ip addr flush dev IFACE_NAME:將指定接口上配置的全部IP地址所有清除

  ip addr { show|list} [dev IFACE_NAME]:顯示網絡接口上配置的IP地址;

  爲網絡接口增長多個IP地址,並可以使用ifconfig查看;

   ip addr add IFADDR dev IFACE_NAME label IFACE_NAME_LABEL

                                         ↓

   此IFACE_NAME_LABEL 爲 IFACE_NAME:# (#表明任意整數)

    

 ~]# ip address add 192.168.19.130/24 brd + label ens33:1 dev ens33  # 至關於ifconfig ens33:1 192.168.19.130/24
 ~]# ip addr add 192.168.19.130/24 dev ens33  # 「簡化版」
 ~]# ip addr delete 192.168.19.130/24 dev ens33 #刪除網絡設備的一個地址

   

    當OBJECT爲route時 - 查看和設置路由表信息

  ip route { add | del } TARGET/PREFIX vai NEXT_HOP [dev IFACE_NAME]

  ip route list

    當OBJECT爲netns

  ip netns list:列表顯示全部的自定義的名稱空間;

  ip netns add NS_NAME:建立名稱空間;

  ip netns exec NS_NAME cmd:在指定的名稱空間中使用命令;

  ip netns delete NS_NAME:刪除指定的名稱空間;

    ss命令

    ss 是 socket statistics 的縮寫。顧名思義,ss 命令能夠用來獲取socket 統計信息,它能夠顯示和netstat 相似的內容。但 ss 的優點在於它可以顯示更多更詳細的有關TCP和鏈接狀態的信息,並且比netstat更快速更高效。  

     ss的用法 ss [options] [ FILTER ]

      options經常使用選項:

  -t:TCP協議相關的鏈接狀態

  -u:UDP協議相關的鏈接

  -w:raw socket相關的鏈接

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

  -a:全部的狀態的套接字鏈接

    -n:數字化顯示結果

  -p:顯示相關應用程序及PID

  -e:顯示詳細的擴展信息

  -m:顯示內存使用量

  -o:計時器信息


  FILTER := [ state TCP-STATE ] [ EXPRESSION ]

    TCP-STATE:TCP協議有限狀態機中的全部可用狀態;

  EXPRESSION:

  dport= :port

  sport= :port

  EXPRESSION示例:

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

相關文章
相關標籤/搜索