Linux 网络属性管理

在介绍Linux网路属性管理之前,我还要介绍下以太网(Enternet)

以太网的工作原理

以太网才用带冲突检测载波侦听多路访问(CSMA/CD)机制。以太网中节点都可以看到在网络中发送的所有信息,因此,我们说以太网是一种广播网络。

以太网的工作过程如下:

当以太网中的一台主机要传输数据时,它将按如下步骤进行:

1.监听信道上是否有信号在传输。如果有的话,表明信道处于忙状态,就继续监听,直到信道空闲为止。

2.若没有监听到任何信号,就传输数据。

3.传输的时候继续监听,如果发现冲突则执行退避算法,随机等待一段时间后,重新执行步骤1(当冲突发生时,涉及冲突的计算机会发送会返回到监听信道状态。

    注意:每台计算机一次只允许发送一个包,一个拥塞序列,以警告所有的节点。)

4.若未发现冲突则发送成功,所有计算机在试图再一次发送数据之前,必须在最近一次发送后等待9.6微妙

IP地址

IP地址是指互联网协议地址(Internet Protocol Address,网际协议地址),是IP Address的缩写

IP地址分类

类别 最大网络数 IP地址范围 最大主机数 私有IP地址范围
A 126(2^7-2) 0.0.0.0-127.255.255.255 16777214 10.0.0.0-10.255.255.255
B 16384(2^14) 128.0.0.0-191.255.255.255 65534 172.16.0.0-172.31.255.255
C 2097152(2^21) 192.0.0.0-223.255.255.255 254 192.168.0.0-192.168.255.255

将Linux主机接入到网络中

IP/mask

路由:默认网关

DNS服务器

  主DNS服务器

  次DNS服务器

  第三DNS服务器

配置方式:

  静态指定:

    ifcfg, ifconfig, route, netstat

    ip: boject:{link, addr, route}, ss, tc

    配置文件:system-config-network-tui

    CentOS 7:nmcli, nmtui

    动态分配:DHCP

  配置网络接口:

    接口命名方式,CentOS 6,以太网:eth[0,1,2,…]

    ifconfig命令:

      ifconfig [interface]

        # ifconfig -a

        # ifconfig IFACE [up|down]

        ifconfig interface [aftype] options | address …

        # ifconfig IFACE IP/mask [up|down]

        # ifconfig IFACE IP netmask MASK

      注意:IP立即生效

route命令:

  查看命令:route -n

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

  示例如下

[root@localhost ~]# route add -host 192.168.0.0 gw 192.168.103.1 dev eth0
[root@localhost ~]# route add -net 192.168.1.0/24 gw 192.168.103.1 dev eth0
[root@localhost ~]# route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.103.1
[root@localhost ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.0.0     192.168.103.1   255.255.255.255 UGH   0      0        0 eth0
192.168.103.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.1.0     192.168.103.1   255.255.255.0   UG    0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
0.0.0.0         192.168.103.1   0.0.0.0         UG    0      0        0 eth0
0.0.0.0         192.168.103.254 0.0.0.0         UG    0      0        0 eth0

    (1)添加本地地址192.168.0.0到eth0网卡上,网关为192.168.103.1

    (2)添加网路地址192.168.1.0到eth0网卡上,网关为192.168.103.1

      也能用:# route add -net 192.168.0.0 mask 255.255.255.0 gw 192.168.103.1 dev eth0

    (3)添加默认路由,网关为192.168.103.1

      也能用:# route add default gw 192.168.103.1

删除命令:route del

  我要把刚刚添加的两条地址删除就可以用:route del [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]

[root@localhost ~]# route del -net 192.168.1.0/24 gw 192.168.103.1
[root@localhost ~]# route del -host 192.168.0.0 gw 192.168.103.1
[root@localhost ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.103.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
0.0.0.0         192.168.103.1   0.0.0.0         UG    0      0        0 eth0
0.0.0.0         192.168.103.254 0.0.0.0         UG    0      0        0 eth0

netstat命令:

    显示网络连接:

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

    选项参数:

      -t:tcp协议相关

      -u:udp协议相关

      -w:raw socket相关

      -l:处于监听状态

      -a:所有状态

      -n:以数字显示IP和端口

      -e:扩展

      -p:显示相关的进程及PID

    常用组合:-tan,-uan,-tnl,-unl

    显示路由表:

    netstat {–route|-r} [–numeric|-n]

      -r:显示内核路由表

      -n:数字格式

    显示接口统计数据:

    netstat {–interfaces|-I|-i} [iface] [-all|-a] [–extend|-e] [–program|-p] [–numeric|-n]

      # netstat -i

      # netstat -I IFACE

Linux 网络配置

主要介绍两个命令:ip 和 ss 命令

ip命令

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

ip [ OPTIONS ] OBJECT { COMMAND | help }

OBJECT := { link | addr | addrlabel | route | rule | neigh | tunnel | maddr | mroute | monitor }

常用选项:

  ip link set DEVICE { up | down }:激活或指定用户端口

  ip link show

    [dev IFACE]:指定接口

    [up]:仅显示处于激活状态的接口

  ip address:ip addr { add | del } IFADDR dev STRING

    [label LABEL]:添加地址时指明网卡别名

    [scope { global | link | host }]:指明作用域

        global:全局可用

        link:仅链接可用

        host:仅本机可用

    [broadcast ADDRESS]:指明广播地址

  ip address show

    [dev DEVICE]

    [label PATTERN]

    [primary and secondary]

  ip address flush 使用同 show

  添加路由:ip route add TARGET via GW dev IFACE src SOURCE_IP

  添加网关:ip route add defalt via GW dev IFACE

  删除路由:ip route del TARGET

  显示路由:ip route [ show | flush ]


ss命令

  格式:ss [options] [ FILTER ]

  选项:

    -t:tcp协议相关

    -u:udp协议相关

    -w:裸套接字相关

    -x:unix sock相关

    -l:listen状态的链接

    -a:所有

    -n:数字格式

    -p:相关的程序及PID

    -e:扩展信息

    -m:内存用量

    -o:计时器信息

        

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

      
     

    

原创文章,作者:黑白子,如若转载,请注明出处:http://www.178linux.com/12835

评论列表(1条)

  • stanley
    stanley 2016-03-20 11:55

    netstat {–interfaces|-I|-i} [iface] [-all|-a] [–extend|-e] [–program|-p] [–numeric|-n]

    # netstat -i

    # netstat -I IFACE
    类如这些也可以格式化,显示更有层次感