Linux系统网络属性管理

    每台计算机主机连入internet都必须给主机设定以个合法的IP地址。这些IP参数大概包括IP地址、子网掩码、网关、路由、DNS等。在Linux中,大多数命令配置网络配置都是临时生效,想要网络服务永久有效就必须写入配置文件中,所以有时候更改配置重启主机是为了让内核重读配置文件到内核中,因为配置文件属于用户空间的文件。大多数网络配置都是临时生效。下面我们来了解一些关于Linux中的常用的网络配置命令和配置文件。

    IP的相关参数包括

    IP/Netmask主要用于确定自身所处的网络,以及对方主机是否与本主机同在一个网络当中。

    Gateway(网关)主要用于与外部Internet通信传输口。

    Route:(路由)建立网络层通信条目,分为三种类型

    (1)、网络路由:目标是一个网络

    (2)、主机路由:目标是一个主机

    (3)、默认路由:目标是所有非本地网络。

        注意:下一跳地址必须是同一网段的地址中。

    DNS服务器是用于域名解析。它的数据库中是域名对应的IP地址,来增强网络的通用性。Linux默认有三个

        (1)、主DNS服务器

        (2)、备用DNS服务器

        (3)、第三备用服务器

    网络配置方式分为静态指定(静态IP)和动态指定(DHCP服务器分配)。

    静态配置地址的方法有以下几种

    

        ifcfg: ifconfig, route, netstat

        ip: object {link, addr, route}, ss, 

        system-config-network-tui(setup)

        配置文件

        CentOS 7:网络配置工具

        nmcli, nmtui, nm-connection-editor

  

    ifcfg命令家族:ifocnfig,route,netstat

    

    ifconfig命令:

    ifconfig [interface]

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

    

    ifconfig interface [iftype] options | address …

    #ifconfig IFACE IP/MASK [up]

    #ifconfig IFACE IP netmask NETMASK

    

    option

    [-]promisc #混杂模式

    

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

    

    管理IPv6地址

    add addr/prefixlen

    del addr/refixlen

    

    ifconfig eth0 10.1.36.6/16 down

    ifconfig eth0 192.168.100.1 netmask 255.255.255.0 (netmask是关键字,必须完整格式。立即生效)

    ifconfig eth1 promisc #开启混杂模式

    ifconfig eth1 -promisc #关闭混杂模式

[root@clod ~]#ifconfig eth0 192.168.100.123/24 #配置IP地址
[root@clod ~]#ifconfig eth0 192.168.100.123 netmask 255.255.255.0 #配置IP地址 都可以

[root@clod ~]#ifconfig eth0 down #断开网卡连接  (相当于拔网线,IP地址只能本机使用)
[root@clod ~]#ifconfig eth0 up #启用连接网卡连接 (相当于拔网线,IP地址只能本机使用)

[root@clod ~]#ifconfig eth0 down  #怒拔网线
[root@clod ~]#ifconfig eth0 #查看信息,显示未RUNNING
eth0      Link encap:Ethernet  HWaddr 00:0C:29:00:07:39  
          inet addr:10.1.36.6  Bcast:10.1.255.255  Mask:255.255.0.0
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:2406 errors:0 dropped:0 overruns:0 frame:0
          TX packets:121 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:144360 (140.9 KiB)  TX bytes:8098 (7.9 KiB)

[root@clod ~]#ifconfig eth1 #显示单个网卡信息
eth1      Link encap:Ethernet  HWaddr 00:0C:29:00:07:43  
          inet addr:192.168.200.6  Bcast:192.168.200.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe00:743/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6915 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4745 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:586838 (573.0 KiB)  TX bytes:574276 (560.8 KiB)

[root@clod ~]#ifconfig -a #显示所有网卡接口信息
eth0      Link encap:Ethernet  HWaddr 00:0C:29:00:07:39  
          inet addr:10.1.36.6  Bcast:10.1.255.255  Mask:255.255.0.0
          inet6 addr: fe80::20c:29ff:fe00:739/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2210 errors:0 dropped:0 overruns:0 frame:0
          TX packets:93 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:132600 (129.4 KiB)  TX bytes:5906 (5.7 KiB)
eth1      Link encap:Ethernet  HWaddr 00:0C:29:00:07:43  
          inet addr:192.168.200.6  Bcast:192.168.200.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe00:743/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6698 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4613 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:568471 (555.1 KiB)  TX bytes:557962 (544.8 KiB)
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:63 errors:0 dropped:0 overruns:0 frame:0
          TX packets:63 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:5888 (5.7 KiB)  TX bytes:5888 (5.7 KiB)

[root@clod ~]#ifdown eth0 #禁用接口
[root@clod ~]#ifconfig eth0 #查看禁用接口
eth0      Link encap:Ethernet  HWaddr 00:0C:29:00:07:39  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:2214 errors:0 dropped:0 overruns:0 frame:0
          TX packets:93 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:132840 (129.7 KiB)  TX bytes:5906 (5.7 KiB)

fiup/ifdown 

ifup - bring a network interface up #启用接口 (相当于直接禁用TCP/IP协议,无IP地址)
       ifdown - take a network interface down #禁用接口 (相当于直接禁用TCP/IP协议,无IP地址)

SYNOPSIS

       ifup IFACE [boot]

       ifdown IFACE

[root@clod ~]#ifdown eth0
[root@clod ~]#ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:0C:29:00:07:39  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:2406 errors:0 dropped:0 overruns:0 frame:0
          TX packets:111 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:144360 (140.9 KiB)  TX bytes:7370 (7.1 KiB)

截取的一段网卡信息来做详细解析

eno16777736: flags=4163<UP(开启状态),BROADCAST(支持广播功能),RUNNING(运行当中),MULTICAST(支持组播/多播功能>mtu 1500(最大传输单元)
        inet 10.1.36.7  netmask 255.255.0.0  broadcast 10.1.255.255
        inet6 fe80::20c:29ff:fe97:7e0f  prefixlen 64  scopeid 0x20<link>
        ether(硬件地址) 00:0c:29:97:7e:0f  txqueuelen(传输队列长度) 1000  (Ethernet)
        RX packets(接收到的报文数量) 422649  bytes 39102077 (37.2 MiB)
        RX errors(!!接收时的错误个数!!) 0  dropped 475(!!丢包的数量!!)  overruns 0(溢出)  frame 0
        TX packets(传出的报文数量) 13518  bytes 1015076 (991.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

route命令:路由查看及管理

路由条目类型:

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

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

默认路由:目标为任意主机,0.0.0.0/0.0.0.0

查看:route -n :以数字格式查看ip地址,不反解 

[root@clod ~]#route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.200.0   0.0.0.0         255.255.255.0   U     0      0        0 eth1
169.254.0.0     0.0.0.0         255.255.0.0     U     1003   0        0 eth1

添加:

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

    -net 指定网段

    -host:指定主机

    target:目标主机

    netmask:子网掩码

    gw Gw:网关

    dev:设备

    if:接口

route add -net 10.0.0.0/8 gw 192.168.10.1 dev eth1(可写可不写)

route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.10.1

route add -net 0.0.0.0/0.0.0.0 gw 192.168.10.1

route add defaults gw 192.168.10.1 效果同上  

删除:

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

示例: route del -net 10.0.0.0/8 [gw 192.168.10.1]#删除指定网关

 route del default :删除默认网关

netstat命令

Print network connections, routing tables, interface statis-tics, masquerade connections, and multicast memberships

显示网络连接,路由表,接口统计数据、伪装链接和多播成员关系!

   显示路由表 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(Final State Machine)

    -u:#UDP协议相关的链接

    -w:#raw socket相关的链接

    -l:#处于监听状态的链接

    -a:#所有状态

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

    常用组合:

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

blob.png

blob.png

blob.png

传输层协议:

      tcp:面向连接的协议;通信开始之前,要建立一个虚链路,通信完成后还要拆除连接

      udp:无连接的协议;直接发送数据报文

ip: object {link, addr, route}, ss

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

ip命令 :查看及管理 路由、设备、策略路由以及隧道

ip [ OPTIONS ] OBJECT { COMMAND | help }

OBJECT := { link | addr | route | netns | neigh | } #常用OBJECT

注意:OBJECT大多可以简写,如果不知道格式也可以用tab键补全命令!!

注意:OBJECT可简写,各OBJECT有

blob.png

常用的有

ip link:

ip link show-display device attrubutes:查看二层链路信息

    ip link help #显示简要使用帮助

    ip link :network device configuration #网络设备配置

    ip link set -change device attributes  #设置设备属性

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

    up和down #启用和禁用

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

    name NAME:重命名

    mtu NUMBER:设置MTC的大小,默认为1500

    netns PID:ns为namespace,用于将接口移动到指定的网络名称空间 

例句:  

ip link set dev eth1 ip/down 开启关闭eth1网卡

ip link set eth1 multicast off/on:多播

ip link set DEVICE  name eno000011 :改名要down了再改

ip netns add mynaet  (CentOS 7 用)

ip link set eno3355985 netns mynet(show eno3)将不可见了

ip netns exec mynet ip link show:查看mynet信息!!!

ip netns del mynet:删除netns, eno将重现了

ip netns:ip -manage network namespaces:

ip netns list:列出所有的netns

ip netns add NAME:创建指定的netns

ip netns del NAME:删除指定的netns

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

ip addr  -protocol address  management.#ip网络层管理

ip addr add -add new protocol address #增加新的协议

ip addr add IFADDR dev IFACE #新增一个备用地址

[label] NAME:为额外添加的地址指明接口别名;

有别名 ifconfig 就能显示得到

[broadcast] ADDRESS:广播地址;会根据IP和NETMASJ自动计算得到

[scope SCOPE_VALIE]:

global:全局可用;

link:接口可用

host:仅主机可用;

例句:

ip addr add 192.168.10.100/24 dev eth1

ip addr show eth1

ip addr list eth1

ip addr add 10.0.0.100/8 deb eth1

ip addr add 10.1.1.10/8 dev eth1 label eth1:0 

ip addr add 10.0.10.100/8 dev eth1 #加ip

ip addr add 10.0.20.100/8 dev eth1 #加ip

blob.png

ip address delete -delete protocol address  删除

ip ddr delete IFADDR dev IFACE

ip addr del 10.0.10.100/8 dev eth1

ip addr show/list  -look at protocol address  显示网卡接口信息    

[IFACE]:仅显示指定接口的地址  dev可加可不加

blob.png

ip address flush-flush protocol address  清空所有ip地址

ip addr flush dev eth1 #清空eth1 的所有ip地址

ip route -routing  table management #路由表管理

ip route add  -add new route : #新增路由

ip route change – change route #更改路由

ip route replace – change or add new one #从置路由

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 #新增路由

ip route add 192.168.1.0/24 via 10.0.0.1 dev eth1 src 10.0.20.100#新增路由

ip route add default via 172.16.0.1 dev eth1 #默认路由

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 #默认路由

ip route list 查看路由信息

ip route delete – delete route #删除路由条目

ip route del TYPE PREFIX

示例

ip route delete 192.168.1.0/24

ip route show – list routes #查看路由

TYPE PREFIX

例句

ip route show

ip route show src 172.16.100.6

ip route show 192.168.200.0/24

ip route get -get single route #获取路由信息

ip route get TYPE PRIFIX

例句

ip route get 192.168.0.0/24

ip route flush – flush routing tables #清空路由表

示例

ip route flush

ip route flush 10/8

ip route flush 169.254/16 : 169开头子码为16的删除

ip route flush 192.

   

 

ss命令 跟netstat用法一直,就不多做介绍了

  – another utility to investigate sockets

     

ss [options] [FILTER]

选项:

    -t: TCP协议的相关连接

    -u: UDP相关的链接

    -w:raw socket相关的链接

    -l:监听状态的链接

    -a:所有状态的链接

    -n:数字格式

    -p:相关的程序及其PID

    -e:扩展格式信息

    -m:内存用量

    -o:计时器信息

    FILTER:=[state TCP-STAT] [EX[RESSION]

    

    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 )' 过滤tcp 源端口目标端口为22的

ss -tan state ESTABLISHED

ss -o state established '( dport = :ssh or sport = :ssh )' 显示所有已建立的ssh连接

ss -o state established '( dport = :http or sport = :http )' 显示所有已建立的HTTP连接

   

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

(0)
ladsdmladsdm
上一篇 2016-09-18 16:10
下一篇 2016-09-18 16:46

相关推荐

  • sed讲解与使用

            sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理…

    Linux干货 2016-08-15
  • linux中硬链接与软链接的区别

    硬连接和软链接的区别: 1、          首先,两者的作用对象不同: 硬链接,只能应用于文件,而不能应用于目录,而且不能跨文件系统(即分区)。 软(符号)链接,可以应用于文件,而且可以应用于目录和可跨文件系统(分区)。 2、   &n…

    Linux干货 2016-10-20
  • 修改文件的权限

        linux中一切皆文件,文件有权限,所有者,所属组,大小等属性。文件所有者是指创建文件的用户,所属组是指创建文件的用户属于哪一个主要的组(用户的主组只能有一个)。     用户对文件进行各种操作的前提是有相应的权限,所以有些文件我们只能读,不能写,而有些文件既可以读写,还可以更改内容,下面就…

    2017-07-30
  • N25第七周RAID LV 概述及示例,swap创建,read 特殊用法以及bash脚本示例

    1、创建一个10G分区,并格式为ext4文件系统; (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; mke2fs -t ext4 -b 2048 …

    Linux干货 2017-01-04
  • 图文演示Netmeeting的三大功能

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://jeffyyko.blog.51cto.com/28563/153578     可能很多朋友对Netmeeting有一定认识,但我想真正用过的朋友应该不多,因为类似的软件太多太多了,所以Netmeet…

    Linux干货 2015-03-25
  • 马哥教育网络班20期+第6周练习博客

    请详细总结vim编辑器的使用并完成以下练习题 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; [root@bogon ~]# cp /etc/rc.d/rc.sysinit  /tmp/rc.sysinit […

    Linux干货 2016-07-22