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
下一篇 2016-09-18

相关推荐

  • 文件查找命令find详解

    文件的查找命令 find 用法 功能:实时查找工具,通过遍历指定路径完成文件查找 工作特点: •  查找速度略慢•  精确查找•  实时查找•  可能只搜索用户具备读取和执行权限的目录 语法:   find [OPTION]… [查找路径] [查找条件] [处理动作] 查找路径:指定具体目标路径;默认为当前目录查找条件…

    Linux干货 2016-11-07
  • 编译安装httpd2.4-centos6

    centos6编译安装httpd2.4 默认是不支持,需自己动手进行编译 apr-1.4+ apr-util-1.4+ :需提前进行编译安装这两个软件 编辑安装httpd2.4实例 1、#安装开发包 [root@www ~]# yum groupinstall “Development Tools” “Server Pla…

    Linux干货 2017-05-17
  • 磁盘管理

    1、设备文件 设备文件:关联至一个设备驱动程序,进而能够跟与之对应硬件设备进行通信 设备号码: 主设备号major number,标识设备类型 次设备号minor number,标识同一类型下的不同设备 [root@localhost ~]# ll /dev/sd* brw-rw—-. 1 root disk 8,  0 Aug 25 …

    Linux干货 2016-09-01
  • 用户权限以及组权限作业

    1、在/data/testdir里创建的新文件自动属于g1组,组g2的成员如:alice能对这些新文件有读写权限,组g3的成员如:tom只能对新文件有读权限,其它用户(不属于g1,g2,g3)不能访问这个文件夹。 [root@localhost testdir]# mkdir -p /data/testdir [roo…

    Linux干货 2016-08-08
  • Gdevops 2017全球敏捷运维峰会【上海站】

    Gdevops-2017全球敏捷运维峰会-上海将于7月7日举行,活动家提供Gdevops 2017全球敏捷运维峰会【上海】在线报名服务。 峰会介绍 Introduction 全球敏捷运维峰会 数据已经成为企业的核心竞争力!谁掌控数据、更好的利用数据、实现资产化,谁就会真正率先进入大数据时代。 中国数据资产管理峰会DAMS2017,连续三年站在数据时…

    Linux干货 2017-06-27
  • 第6天预习xargs命令的用法

    Xargs用法详解 1. 简介   之所以能用到这个命令,关键是由于很多命令不支持|管道来传递参数,而日常工作中有有这个必要,所以就有了xargs命令,例如: find /sbin -perm +700 |ls -l     &n…

    Linux干货 2016-08-05