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

             IPV4:IP地址查看,修改。

           格式1:ifconifg [INTERFACE]

                 常用:#ifconfig -a  显示所有接口,包括inactive状态的接口;

           格式2 :inconfig interface [aftype] options | address...

                 常用:#ifconfig IFACE IP/MASK [up|down]   临时冒接口设定IP地址跟子网掩码

                           #ifconfig IFACE IP netmask NETMASK

                 注:ifconfig 立即送往内核中的TCP/IP协议栈,并生效;

                        ifconfig IFACE options

                                      oprions: [-]promisc 混杂模式

              IPC6:IP地址查看,修改

                          add addr/prefixlen  添加

                          del   addr/prefixlen  删除

route命令:路由查看及管理

              路由条目的类型:

                               主机路由:目标地址为单个IP;

                               网络路由:目标地址为IP网络;

                               默认路由: 目标为人以网络0.0.0.0/0.0.0.0

             查看路由: #route -n

             

             添加路由: route add [-net|-host] tareget [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.16.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;


                    显示接口统计数据:netstat    {--interfaces|-I|-i}    [iface]   [--all|-a]   [--extend|-e]   [--verbose|-v]   [--program|-p]  [--numeric|-n]

                                          所有接口:netstat -i

                                          指定接口:netstat -I           

                   ifup/ifdown命令:开机关闭网卡

                          注意:通过配置文件/etc/sysconfig/network-scripts/ifcfg-IFACE来识别接口并完成配置;

  hostname命令:配置主机名

                        查看:hostname

                        配置:hostname HOSTNAME

                                   当前有效,重启后无效;

                      配置文件:etc/sysconfig/network

                                  HOSTNAME=      

                                 注意:此方法的设置不会立即生效; 但以后会一直有效;

 

 hostnamectl命令(Centos7)

                       

                        hostnamectl  status:显示当前主机名信息;

                        hostnamectl  set-hostname:设定主机名,永久有效;

                                      


 配置DNS服务器指向:

              

                         配置文件:vim /etc/resolv.conf

                          nameserver   DNS_SERVER_IP  最多添加三个服务器    

                               

                                如何测试(host/nslookup/dig):

                                 # dig  -t  A  FQDN(主机名) 

                                           FQDN --> IP

                                 # dig  -x  IP

                                           IP --> FQDN    

iproute命令:

                 

              ip命令:ip [ OPTIONS ] OBJECT { COMMAND | help }

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

                              注: OBJECT可简写,各OBJECT的子命令也可简写;

                          ip  OBJECT:

                                

                             ip link: network device configuration (完成网络设备配置)

                             ip  link  set - change device attributes   修改设备属性

                                                   dev NAME (default):指明要管理的设备,dev关键字可省略;

                                                  up和down:   例:  #ip link set eth1 down 关闭eth1接口

                                                  multicast on或multicast off:启用或禁用多播功能;

                                                  name NAME:重命名接口

                                      例:   #  ip link set eth1 down

                                            # ip link set eth1 name eth123

                                                        

 

ss命令:

ss  [options]  [ FILTER ]

选项:

-t:TCP协议的相关连接

-u:UDP相关的连接

-w:raw socket相关的连接

-l:监听状态的连接

-a:所有状态的连接

-n:数字格式

-p:相关的程序及其PID

-e:扩展格式信息

-m:内存用量

-o:计时器信息

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

TCP的常见状态:

TCP FSM:

LISTEN:监听

ESTABLISEHD:建立的连接

FIN_WAIT_1:

FIN_WAIT_2:

SYN_SENT:

SYN_RECV:

CLOSED:

EXPRESSION:

dport = 

sport = 

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

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

~]# ss  -tan  state  ESTABLISHED

配置文件:

IP/NETMASK/GW/DNS等属性的配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE

IFACE:接口名称;

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

配置文件/etc/sysconfig/network-scripts/ifcfg-IFACE通过大量参数来定义接口的属性;其可通过vim等文本编辑器直接修改,也可以使用专用的命令的进行修改(CentOS 6:system-config-network (setup),CentOS 7: nmtui)

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服务来控制接口;

网络服务:

network

NetworkManager 

管理网络服务:

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

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

配置文件修改之后,如果要生效,需要重启网络服务;

CentOS 6:# service  network  restart

CentOS 7:# systemctl  restart  network.service

用到非默认网关路由:/etc/sysconfig/network-scripts/route-IFACE

支持两种配置方式,但不可混用;

(1) 每行一个路由条目:

TARGET  via  GW

(2) 每三行一个路由条目:

ADDRESS#=TARGET

NETMASK#=MASK

GATEWAY#=NEXTHOP

给接口配置多个地址:

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 ] [+|-].

如何修改IP地址等属性:

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

ipv4.address

ipv4.gateway

ipv4.dns1

ipv4.method

manual