1.为网卡设置网络属性:

自动获取:

在主机所在的网络中,至少有一台DHCP服务器;


手动配置(静态指定):

a.使用命令:

net-tools家族(ifcfg家族):

ifconfig(ipconfig)

查看网络接口的配置信息;

配置网络属性;

管理接口状态;

route:

查看路由信息;

配置路由信息(网关,静态路由,静态默认路由);

netstat:

状态及统计数据的查看;


iproute家族:

ip OBJECT

其中OBJECT可以是:

addr:IP地址和掩码的管理

link:物理接口的管理

route:路由管理

ss:

状态及统计数据的查看;


注意:以上命令,在任何的Linux发行版中都适用;


nm家族:Network Manager

nmcli:命令行工具

nmtui:text-window的工具


nm家族只在CentOS7中能够使用;


system-config-network

system-config-network-cmd

system-config-network-tui


上述三个工具都是setup的子命令;在CentOS6中可以使用上述命令;


b.修改配置文件:


2.网络接口的命名方式:

思科的交换机:FastEthernet0/1, GigabitEthernet0/1

思科的路由器:Ethernet0/0, FastEthernet0/0


Linux的接口命名的方式:

a.传统的命名方式:

以太网:ethX,X从0开始的整数;如:eth0,eth1,...

PPP网络:PPPoE,PPP over Ethernet

pppX,X从0开始的整数;如:ppp0,ppp1,...

环回接口:lo,loopback;


在CentOS6及之前的发行版本中使用;


b.可预测的命名方案(CentOS7开始)

可以支持很多种命名机制:

1) 根据Firmware进行命名:

每一台计算机的网卡在其计算机的硬件固件中都有唯一的标识符,比如:MAC地址,厂商标识,电器编号等;

2) 根据物理拓扑结构:

每一台计算机的主板上都有固定数量的插槽或接口,如主板上第二个插槽连接的网卡的第一个物理接口等;


根据不同的命名机制,可以有如下的命名标准:

1) 如果Firmware或BIOS是主板上集成的设备提供的索引信息并且该信息可用,则根据此索引信息进行设备命名,如:enoX, eno1,eno167777736,...


2) 如果Firmware或BIOS是主板上扩展插槽所提供的索引信息并且该信息可用,则根据此索引信息进行设备命名,如:ensX, ens0,ens2,...


3) 如果硬件接口的物理拓扑的位置信息存在并可用,则可以根据此信息进行设备命名,如:enp1s0


4) 如果用户显式的定义,可以根据诸如MAC地址进行命名;如:enx000c290045b3


5) 如果上述可预测命名皆不可用,则延用传统命名方式对网络设备进行命名;


命名的格式组成:

en:ethernet

wl:wlan

ww:wwan


名称的类型:

o:集成设备的索引编号;

s:扩展插槽的索引编号;

x:基于MAC地址进行命名;

ps:基于总线+扩展插槽的索引联合索引编号;


net-tools家族(ifcfg家族):

1.ifconfig命令

ifconfig - configure a network interface


ifconfig [interface] :用于查看网络接口的配置信息;

如果执行ifconfig命令,不带任何接口做参数,则显示所有处于激活状态的网络接口信息;

如果执行ifconfig命名,带有特定接口名称作为参数,则无论接口是否处于激活状态,都显示该网络接口的信息;


ifconfig interface address:用于配置指定接口的网络参数;

ifconfig interface IP[/PREFIX_LEN] [up|down]

ifconfig interface IP netmask SUBNET_MASK [up|down]


示例:

# ifconfig eth1 172.16.100.105

# ifconfig eth1 172.16.100.105/24 

# ifconfig eth1 172.16.100.105 netmask 255.255.255.192

# ifconfig eth1 up|down


常用选项:

-a:显示所有的网络接口,无论其是否处于激活状态;


示例:

# ifconfig -a


route命令:查看和管理路由信息;

路由表中的路由条目,可能包括下列几种类型:

1.主机路由:目标地址是特定的单个IP地址;

2.网络路由:子网路由;主网路由,超网路由(CIDR);

10.10.10.0/24

192.168.1.0/24

192.168.0.0/16

3.默认路由:目标地址为0.0.0.0/0的路由条目;到达任意地址的路由;


常用选项:

-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 netmask 0.0.0.0

route add default gw 192.168.100.1

route add default gw 192.168.220.1 dev eth2


删除默认网关的方法:

route del default

route del 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命令:

Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships


Print network connections

[--tcp|-t]:只显示与TCP协议相关的网络连接

[--udp|-u]:只显示与UDP协议相关的网络连接

[--udplite|-U]:只显示udplite协议相关的网络连接

[--sctp|-S]:

[--raw|-w]:显示与裸套接字相关的网络连接

[--listening|-l]:显示处于LISTEN状态的TCP连接

[--all|-a]:查看所有状态的任意连接

[--numeric|-n]:数字化显示结果中的主机名、端口号、用户ID等信息;

      [--numeric-hosts]

      [--numeric-ports]

      [--numeric-users]

    [--extend|-e[--extend|-e]]:以扩展格式显示结果

    [--program|-p]:显示与该网络连接相关的应用程序及进程ID


  TCP的有限状态机(TCP FSM):

State

      The  state  of  the socket. Since there are no states in raw mode and usually no states used in UDP and UDPLite, this column may be left blank. Normally this can be one of several values:


       ESTABLISHED

              The socket has an established connection.


       SYN_SENT

              The socket is actively attempting to establish a connection.


       SYN_RECV

              A connection request has been received from the network.


       FIN_WAIT1

              The socket is closed, and the connection is shutting down.


       FIN_WAIT2

              Connection  is  closed, and the socket is waiting for a shutdown from the

              remote end.


       TIME_WAIT

              The socket is waiting after close to handle packets still in the network.


       CLOSE  The socket is not being used.


       CLOSE_WAIT

              The remote end has shut down, waiting for the socket to close.


       LAST_ACK

              The remote end has shut down, and  the  socket  is  closed.  Waiting  for

              acknowledgement.


       LISTEN The  socket  is listening for incoming connections.  Such sockets are not

              included in the output unless you specify the --listening (-l)  or  --all

              (-a) option.


       CLOSING

              Both sockets are shut down but we still don't have all our data sent.


       UNKNOWN

              The state of the socket is unknown.



  常用的选项组合:

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


  Print routing tables

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

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

  [--extend|-e]:显示扩展信息


常用的选项组合:

-rn, -rne


Print interface statistics:

{--interfaces|-I|-i}

[--all|-a]

[--extend|-e]

[--verbose|-v]

[--program|-p]

[--numeric|-n]


Print Protocol statistics:

{--statistics|-s}:显示详细的各个协议的统计信息;

[--tcp|-t]

[--udp|-u]

[--udplite|-U]

[--sctp|-S]

[--raw|-w]


iproute家族:

ip:show / manipulate routing, devices, policy routing and tunnels

ip [ OPTIONS ] OBJECT { COMMAND | help }


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



ip link COMMAND

COMMAND: add, delete, set, show, help


ip link set - 修改网络设备的配置参数

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

ip link set [dev] IFACE_NAME [ arp { on | off } ]:是否允许此网络接口使用ARP协议;

ip link set [dev] IFACE_NAME name IFACE_NEW_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:获得简短的帮助信息


 ip netns COMMAND - 设置内核中的网络名称空间;

  ip netns list:列表显示所有的自定义的名称空间;

  ip netns add NS_NAME:创建名称空间;

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

  ip netns delete NS_NAME:删除指定的名称空间;


 ip addr COMMAND - 查看和设置三层逻辑网络地址;

  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


  ifconfig IFACE_NAME_LABEL IFADDR


  IFACE_NAME_LABEL : IFACE_NAME:#


 ip route COMMAND - 查看和设置路由表信息

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

  ip route list