Linux网络协议命令介绍(3)

  在上一章中,我们谈到了网络协议以及TCP传输层说明,下面我们来介绍一下序列号和确认好有什么区别之外,以及基本的网络命令。

1、序列号和确认号有什么区别?

  发送方与接收方的发送请求,把SYN设置为1,TCP报文出去都有个号码,随机生成称为序列号,把报文发出来,接收方收到后回应  SYN=1  ACK=1让确认号有效,在sn序列号上加1,意思是报文收到,可以在原100上发101,接收方也可以生成序列号300号的报文,发给发送方。

1J8B$EFWFV)PG~B]%%PPWC7.png

2、网络功能

  对于Linux而言,网络功能是内核的组成部分,整个系统分为两个层次,用户层次和内核层次,或者叫用户空间和内核空间,像网络功能和文件系统都属于是内核空间,所以在内核中有的TCP/IP协议栈是在内核中生效,只不过在用户空间中配置而已,开机时内核启动网络功能读取配置文件设置的IP。 
我们有时候还要设置路由,Linux也可以是路由,也能用来接收条目信息,多装几块网卡,当主机接入网络时需要配置IP、子网掩码、网关、主机名、DNS服务器地址,(Linux可以最多配置3个)不过注意的是,第一个解析不了的话,不会找第二个解析,而是第一个不在线,才会找第二个解析。这一套可以用DHCP来获取(DHCP:动态主机配置协议)  
  客户端去配置DHCP一旦没有没有这个服务器的话,或者获取不到怎么办?获得不到的话会随机生成一个地址是169差不多的那么一网段,但这个网络最起码能保证这个范围内的本地通信,没有网关,这种是自动地址,而且是随机获得的。

2.1Linux的网卡命名方式

  Linux网络属于内核,地址属于内核虽然配置在网卡上,因此,只要当前ping的时候,无论从那个网卡进来,都能够ping通。在网卡上还有一个lo口,那是用于本地环回链路的,对于每一个网络接口都有一个网卡的名称,以太网网卡通常是eth开头,后面0、1、2、3进行标识。不过在CentOS7中做了很大的改变,在CentOS6之前,网络接口连续号码命令:eth0、eth1等,当增加或删除网卡时,名称可能发生变化。  
  CentOS7使用基于硬件,设备拓扑和设置类型命令

2.1.1网卡命名机制

  systemd对网络设备的命令方式:  
  a、如果Firewall或BIOS为主板上集成的设备提供的索引信息可用,且可预测则根据此索引进行命令,例如eno1。 
  b、如果Firewall或BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命令,例如en1。  
  c、如果硬件接口的物理位置信息可用,则根据此信息进行命名,例如enp2s0。  
  d、 如果用户显式启动,也可根据MAC地址进行命名,enx2387a1dc56。  
  e、上述均不可用时,则使用传统命名机制。

3、网络命令

  命令:ifocnfig,这个命令真的是太古老了。  
  ifconfig是一个用来查看、配置、启用或禁用网络的一个命令,极其常用。可以用这个工具临时性的配置网卡的IP地址、掩码、网关等,配置完成之后就会立即生效,但并不会永久生效。  
  常用的参数选项:

       up   启动指定的网卡 
       down 关闭指定的网卡 
       -a   显示全部接口信息

示例:

# ifconfig 查看已激活的网卡设备 
# ifconfig -a 查看所有的网卡,包括未激活的 # ifconfig eth0 显示eth0的网卡信息
# ifconfig eth0 down 关闭eth0网卡 
# ifconfig eth0 up 开启eth0网卡

  命令:route。  
  route命令对内核进行操作。它主要通过已用ifconfig程序配置好的接口来指定的主机或网络设置静态路由。 
  常用的参数选项:

    -n 以数字形式显示 
    -net 路由目标为网络 
    -host 路由目标为主机 
    del 删除一条路由 
    add 添加一条路由

示例:

# route 显示当前路由 
Kernel IP routing table
Destination  Gateway   Genmask     Flags  Metric  Ref  Use Iface 
192.168.0.0    *       55.255.255.0  U      0      0    0   eth0 
default    192.168.0.1  0.0.0.0      UG     0      0    0   eth0 
# route del default gw 192.168.0.1 删除默认网关
# route add default gw 192.16.0.1  添加默认网关 
# route add -net 192.168.2.0 netmask 255.255.255.0 dev eth0 增加一条路由 
# route add -net 192.168.2.0 netmask 255.255.255.0 reject   屏蔽一条路由
# route add -host 192.168.0.2 gw 192.168.0.1    所有去往192.168.0.2的数据包发往网关地址192.168.0.1

4、配置文件

IP、MASK、GW、DNS相关配置文件:  
   /etc/sysconfig/network-scripts/ifcfg-IFACE  
路由相关配置文件:  
  /etc/sysconfig/network-scripts/route-IFACE  
  在/etc/sysconfig/network-scripts/ifcfg-IFACE配置文件中,可以添加以下配置内容:

  DEVICE=: 关联的设备,要与文件名保持一致 
  BOOTPROTO={static|none|dhcp|bootp}:引导协议,要使用静态地址,使用static或none以及dhcp表示使用dhcp服务器获取地址
  IPADDR=: IP地址 ONBOOT=:是否开机时启动
  HWADDR=: 硬件地址,与硬件中的地址保持一致 
  GATEWAY=:设置默认网关 DNS1=:设置DNS服务器1的地址(默认有三个)

注意:在配置文件中写的话,不会立即生效,重启网络服务或主机就会生效。

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

(0)
上一篇 2016-11-29 14:15
下一篇 2016-11-29 20:40

相关推荐

  • Net-25第5周作业

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; grep -E "^[[:space:]]+" /boot/grub/grub.conf 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行; grep&nbsp…

    Linux干货 2017-01-03
  • CentOS系统启动流程、selinux、Systemd剖析

    交互式登录配置文件读取顺序: /etc/profile –> /etc/profile.d/*.sh –> ~/.bash_profile –> ~/.bashrc –> /etc/bashrc 非交互式登录配置文件读取顺序: ~/.bashrc –> /etc/bas…

    Linux干货 2018-03-04
  • 管道及重定向

    管道及重定向 1、重定向 在Linux中有时我们在命令的执行过程中,不想将执行结果显示到屏幕上,或者将其结果输出到其他位置 这时就需要重定向来解决这个问题了 首先了解一下Linux中的3种I/O设备: 0:标准输入 1:标准输出 2:标准错误输出 输出重定向:> >> 输入重定向: < << >:将标准输出重定向到文…

    Linux干货 2017-07-28
  • 一键搭建mysql集群系列一

    一键自动安装mysql 5.7 shell脚本自动化安装二进制mysql-5.7 本节主要用到四个shell脚本 和 一台资料存储机器(IP:192.168.42.26) install_mysql.sh 自动化安装mysql脚本 ntpdate.sh 时间同步脚本 system_init.sh 系统初始化脚本 yum.sh yum源配置脚本 执行步骤: 1…

    2017-05-13
  • M20 – 1- 第三周博客(2):Linux用户、组

    一、Linux用户组详解 Linux系统中的每个用户都有一个用户组,系统能对一个用户组中的所有用户进行集中管理。不同Linux系统对用户组的规定有所不同,如Linux下的用户属于和他同名的用户组,这个用户组在创建用户时同时创建。用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就对/etc/group文件的更新。 用户组(group)就是具…

    Linux干货 2016-08-05
  • 软件包管理

    软件包管理 软件运行和编译 ABI:应用程序二进制接口;直接给编译好的二进制使用; windows与linux不兼容, windows: ELF linux: PE 库级别的虚拟化: linux:WINE windows:Cywin API:定义了和库之间的接口;编写应用程序时调用的函数之类的; 编译程序源代码(.c) –> 预编译(.i)…

    Linux干货 2017-04-21