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)
上一篇 2016-09-18 16:10
下一篇 2016-09-18 16:46

相关推荐

  • M21-陆东贵操作类作业

    1.     设置自己的终端提示符,要求字符终端登录时: a> 需要带颜色 b> 需要显示当前执行到了第几条命令 c> 显示当前登录终端,主机名和当前时间 解答:[root@localhost  13:19:55 37 ~]# PS1="[\[\e[1;31m\]\u@\h&nbs…

    Linux干货 2016-10-18
  • Linux进程管理

    内核的功能:     进程管理 文件系统 网络功能 内存管理 驱动程序 安全功能等     rocess:运行中的程序的一个副本,是被载入内存的一个指令集合      进程ID(Process ID,PID)号码被用来标记各个进程 UID,GID,和…

    Linux干货 2016-09-12
  • 德摩根定律

     德摩根定律: 非(P且Q) = (非P) 或 (非Q) 非(P或Q) = (非P) 且 (非Q) 德·摩根定律在数理逻辑的定理推演中,在计算机的逻辑设计中以及数学的集合运算中都起着重要的作用。他的发现影响了乔治·布尔从事的逻辑问题代数解法的研究。这巩固了德摩根作为该规律的发现者的地位,尽管亚里士多德也曾注意到类似现象,且这也为古希腊与中世纪的逻辑…

    Linux干货 2016-08-15
  • 网络班第七周 作业

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

    2017-09-16
  • Linux下文件权限管理轻微总结

    Linux下文件权限管理轻微总结       此文对linux下文件的权限及其如何管理权限进行介绍,涉及到读“r”写“w”执行“x”三个权限,特殊权限SUID、SGID、STICKY、ACL、attr的使用。同时对更改文件的指令chmod、getfacl、setfacl、chattr、lsattr等进行说明。  &nb…

    Linux干货 2016-11-07
  • 通过webGUI显示日志信息

         日志信息通常对于我们维护人员有着极为重要的意义,能够为我们提供故障排查、运维监控、历史操作记录等等很多必要的信息。为了方便此类信息的获取,我们可以搭建日志服务器,并实现webGUI显示以便更直观形象的观察收集它们。     一、拓扑图         &nbs…

    Linux干货 2015-07-15