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

相关推荐

  • Shell 编 程 之 until循 环 语 句-20160817

    Shell 编 程 之 until循 环 语 句 §·练习题: 1 每隔3秒钟到系统上获取已经登录的用户的信息;如果发现用户hacker登录,则将登录时间和主机记录于日志/var/log/login.log中,并提示该用户退出系统? 解:解题思路:按照题意该脚本一直无限循环,一直探测用户h…

    Linux干货 2016-08-22
  • 使用tar打包并使用gzip压缩的shell脚本应用实验

    博客目的: 练习find,gzip,tar,grep,vim等命令的使用以及shell脚本的初步使用 命令行模式下: 1、find出/目录下100M以上的文件并且查看 [root@rookie ~]# find / -size +100M | xargs ls -lh -r——–. 1 root root 128T 4月 8 16:02 /proc…

    Linux干货 2017-04-09
  • yum用法第一篇-简介及常见用法使用总结

    一、简介     yum( 全称为:Yellow dog Updater, Modified),是红帽(RedHat)家族(RedHat、Fedora、CentOS)中的前端shell的软件包管理器,主要基于对RPM包的管理,能够根据配置文件(类似于svn资源库配置文件)从指定的服务器自动下载RPM包进行安装,其最大的优势就是可…

    Linux干货 2015-09-22
  • linux命令格式,获取帮助及其目录结构简要理解

    我们都知道,一台计算机要是没通电,和一堆废铁没什么区别。那么,通电开机进入系统后,会进入交互界面,等待用户操作,人与计算机交互界面有两种: GUI:图形用户接口。如我们平时使用的Windows  ,linux的X window,有KDE和GOME.   CLI:命令行接口,使用的SHELL类型有bash ,csh,tcshell,zshell等。 …

    2017-09-14
  • 任务计划2

    [root@localhost app]# cat /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin:/root/bin MAILTO=root   # For details see man 4 crontabs   # Example of job defi…

    Linux干货 2017-05-15
  • tomcat基础进阶

                        tomcat基础进阶 前言 Tomcat Architecture Tomcat Installation Tomcat…

    Linux干货 2016-04-22