Linux网络配置基础及命令使用

网络基础少不了,了解基本概念

MAC:Media Access Conctrol
     网卡设备的固定且唯一的硬件地址,用于局域网通讯主机识别
        
    IP:Internet Protocol
     由网络号和主机号组成的通讯地址标识,用于界定源和目标主机

DNS:Domain Name System
     1.DNS服务器是域名系统,用于解析主机名,实现基于主机名的通讯

2.全球的DNS服务器的域名数据都是相同的,备用DNS的作用是主DNS不可用时(挂掉)顶上,并非在主DNS上查找不到的域名就会使用备用DNS,linux上可配置三个DNS

路由器:router
     规划主机通讯之间的最佳路径,保存于路由表中,主机的通讯路径可通过静态指定,也可以动态学习,路由器的动态学习基于路由的协议rip2(快作废)、ospf完成

进程地址:
      进程的数字表示就是端口,端口用于区分不同的进程
      端口port:16bit
        0-1023作为保留端口,固定分配给一些服务,且只有管理员才能启用
        其余的端口1024-65535动态分配

进程的地址是由IP+port组成,进程地址就是一个套接字(socket)

主机之间的网络通讯其实就是进程之间的通讯

TCP/IP协议栈:用与网络通讯的协议栈
     TCP/IP分层机制:
       物理层、网络层、传输层、应用层
     OSI网络七层:
       物理层、数据链路层、网络层、传输层、会话层、表达层、应用层
    一般OSI分层作为学习使用,TCP/IP作为实际使用

网络分层的作用:
        物理层:用于界定网络设备接口标准,电器特性等硬件标准
        数据链路层:识别网络设备,数据校验,帧的开始和结束
        网络层:IP通讯的最佳路径选择
        传输层:三次握手,流量控制,丢包重传,传输协议TCP/UDP
        会话层:客户端与服务端建立会话
        表示层:数据传输的加密、压缩、编码等
        应用层:计算机通讯之间的应用

Linux的网络配置:

计算机连入网络配置:
    配置IP
    配置子网掩码NETMASK
    配置网关GATEWAY
    配置DNS服务器

在配置好ip和netmask即可进行本地通讯,要想通过互联网通讯,就必须配置网关



(1)基于配置文件实现配置:

网卡配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE(接口)
       
    配置项目:
      DEVICE= 设备名称   
      BOOTPROTO= 激活接口时使用的配置的协议属性,有dhcp,static,none   
      HWADDR= 网卡的硬件地址MAC
      ONBOOT= 是否开机启动,yes或no
      TYPE= 接口的类型,常见有Ethernet、Bridge
      IPADDR= IP地址
      NETMASK= 子网掩码
      GATEWAY= 网关
      DNS1= DNS服务器
      DNS2= 备用DNS服务器
      UUID= 设备的唯一标识
      USERCTL= 是否允许普通用户控制此设备
      PEERDNS= 如果BOOTPROTO=dhcp,是否允许shcp server分配的DNS服务器覆盖本地手动指定DNS服务器,默认为允许
      NM_CONTROLLED= 是否启用NetworkManager服务控制接口,在centos6中,一般选择禁用,在centos7中可以选择启用

DNS服务器配置文件:/etc/resolv.conf
    配置格式:
      nameserver DNS服务器地址
      如:nameserver 114.114.114.114

 网络服务管理:
        CentOS 6:  service  SERVICE  { start | stop | restart | status }
        CentOS 7:systemctl  { start | stop | restart | status }  SERVICE[.service]

修改配置文件后不能立即生效,需要重启服务

主机名配置:
    # hostname HOSTNAME
      配置文件:
      /etc/sysconfig/network



(2)使用命令配置
    
    iproute家族

ip命令:
     ip [options] OBJECT { COMMAND | help }
      OBJECT:{link|addr|route|netns}
                
      OBJECT可简写,OBJECT子命令也可简写

接口属性修改:
       ip link set [dev] DEVICE <device attributes设备属性>
                   
        { up | down }:开启或关闭的设备
         multicast { on | off }:开启或关闭多播功能
         mtu NUM:指定传输数据帧的最大值,默认为1500
         name NMAE:修改设备名称
         netns PID:

ip link show:display device attributes显示设备属性

ip link help:查看简要帮助

示例:

显示设备属性

[[email protected]‘s linux ~]# ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:7b:79:63 brd ff:ff:ff:ff:ff:ff
[[email protected]‘s linux ~]#

修改接口数据帧大小

[[email protected]‘s linux ~]# ip link set mtu 3000 dev eth0
[[email protected]‘s linux ~]# ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,UP,LOWER_UP> mtu 3000 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:7b:79:63 brd ff:ff:ff:ff:ff:ff


接口IP管理:
      ip addr { show | add | delete | flush } [IFADDR] dev IFACE

ip addr show:显示接口的ip地址
      ip addr add:给接口添加ip地址
      label NAME:给指定的ip设置别名(ethx:y)
      scope {global|link|host}:设置接口的作用域
       global:全局可用
       link:接口可用
       host:本机可用

IP设置格式:172.168.0.0/16(之网码的位数)
        ip addr del:删除接口的ip地址
        ip addr flush:清空接口的所有ip地址
        ip addr flush to [网络地址]:清除指定的地址
         如要清掉192.168.16.1/16=flush 192.16.0.0/16

注意:单个接口添加多个IP地址使用命令实现,可指定别名,也可以编辑配置文件,文件命名要使用接口别名ethx:y

示例:

    显示接口IP地址

[[email protected]‘s linux ~]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,UP,LOWER_UP> mtu 3000 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:7b:79:63 brd ff:ff:ff:ff:ff:ff
    inet 172.18.0.144/16 brd 172.18.255.255 scope global eth0
    inet6 fe80::20c:29ff:fe7b:7963/64 scope link 
       valid_lft forever preferred_lft forever

在指定接口添加IP

[[email protected]‘s linux ~]# ip addr add 192.168.0.10/24 dev eth0
[[email protected]‘s linux ~]# ip addr show

2: eth0: <BROADCAST,UP,LOWER_UP> mtu 3000 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:7b:79:63 brd ff:ff:ff:ff:ff:ff
    inet 172.18.0.144/16 brd 172.18.255.255 scope global eth0
    inet 192.168.0.10/24 scope global eth0
    inet6 fe80::20c:29ff:fe7b:7963/64 scope link 
       valid_lft forever preferred_lft forever

    给添加的IP地址指定标签

[[email protected]‘s linux ~]# ip addr add 192.168.10.100/32 label eth0:1 dev eth0
[[email protected]‘s linux ~]# ip addr show

2: eth0: <BROADCAST,UP,LOWER_UP> mtu 3000 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:7b:79:63 brd ff:ff:ff:ff:ff:ff
    inet 172.18.0.144/16 brd 172.18.255.255 scope global eth0
    inet 192.168.0.10/24 scope global eth0
    inet 192.168.10.100/32 scope global eth0:1 (别名添加)
    inet6 fe80::20c:29ff:fe7b:7963/64 scope link 
       valid_lft forever preferred_lft forever

清除指定IP

[[email protected]‘s linux ~]# ip addr show

2: eth0: <BROADCAST,UP,LOWER_UP> mtu 3000 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:7b:79:63 brd ff:ff:ff:ff:ff:ff
    inet 172.18.0.144/16 brd 172.18.255.255 scope global eth0
    inet 192.168.0.10/24 scope global eth0
    inet 192.168.10.100/32 scope global eth0:1
    inet6 fe80::20c:29ff:fe7b:7963/64 scope link 
       valid_lft forever preferred_lft forever
[[email protected]‘s linux ~]# ip addr flush to 192.168.0.0/24 eth0 (执行flush操作)
[[email protected]‘s linux ~]# ip addr show

       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,UP,LOWER_UP> mtu 3000 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:7b:79:63 brd ff:ff:ff:ff:ff:ff
    inet 172.18.0.144/16 brd 172.18.255.255 scope global eth0
    inet 192.168.10.100/32 scope global eth0:1
    inet6 fe80::20c:29ff:fe7b:7963/64 scope link 
       valid_lft forever preferred_lft forever

    路由表配置:

ip route:routing table management路由表管理

ip route add:添加路由
     ip route delete:删除路由
     ip route change:修改路由
     ip route replace:修改或新增新路由(替换)
     ip route flush:清除路由表
     ip route add default via GW:添加默认路由

路由添加:
      ip route add 目标网络 via GW网关 [dev IFACE] [src SOURCE_IP]
       例:ip route add 192.168.0.0  via  172.18.0.1 dev eth0

解释:添加路由,即建立一个路由条目,记录访问目标网络下一跳(nexthop)的地址(网关),注意!是目标网络,不是目标ip地址,如IP:192.168.0.12/24,我们添加路由时目标网络应该是192.168.0.0/24,192.168.0.0/24代表了此网段的所有IP地址

注意:
     添加路由时填写的网关必须是与本地接口中的某一IP相同网段的地址

示例:

    添加路由

[[email protected]‘s linux ~]# ip route add 192.168.0.0/24 via 172.18.0.1
[[email protected]‘s linux ~]# ip route show
192.168.0.0/24 via 172.18.0.1 dev eth0 (添加的路由)
172.18.0.0/16 dev eth0  proto kernel  scope link  src 172.18.0.144  metric 1 
default via 172.18.0.1 dev eth0  proto static (默认网关)
[[email protected]‘s linux ~]#

   

    删除路由

[[email protected]‘s linux ~]# ip route show
192.168.0.0/24 via 172.18.0.1 dev eth0 
172.18.0.0/16 dev eth0  proto kernel  scope link  src 172.18.0.144  metric 1 
default via 172.18.0.1 dev eth0  proto static 
[[email protected]‘s linux ~]# ip route delete 192.168.0.0/24 (删除)
[[email protected]‘s linux ~]# ip route show
172.18.0.0/16 dev eth0  proto kernel  scope link  src 172.18.0.144  metric 1 
default via 172.18.0.1 dev eth0  proto static 
[[email protected]‘s linux ~]#


网络名称空间管理:
    ip netns:manage network namesapce管理网络名称空间
     ip netns list:列出所有的netns
     ip netns add NAME:创建netns
     ip netns del NAME :删除指定netns
     ip netns exec NAME COMMAND:在指定的netns中运行命令

注意:centos6中可能没有netns命令,centos7中可以使用

示例:

创建一个名称空间

[[email protected]‘s linux ~]# ip netns add new_network
[[email protected]‘s linux ~]# ip netns list
new_network
newnet
[[email protected]‘s linux ~]#

在指定名称空间运行命令

[[email protected]‘s linux ~]# ip netns exec new_network ip link show
1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN mode DEFAULT 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
[[email protected]‘s linux ~]#




ss命令:用于显示套接字(socket)状态

ss [option...] [FLITER]
      option:
       -t:查看tcl协议相关的连接
       -u:查看udp协议相关的连接
       -n:以数字形式查看
       -l:查看处于监听状态的连接
       -a:查看所有状态的连接
       -p:显示连接的相关进程
       -m:显示连接的内存使用情况
       -e:显示扩展信息
       -w:显示raw socket相关连接

FILTER := [ state TCP-STATE ]  [ EXPRESSION ]
                
        如:ss -o state established ‘( dport = :22 or sport = :22 )‘
                           
    
示例:

  查看处于监听状态TCP连接

[[email protected]‘s linux ~]# ss -tnl 
State       Recv-Q Send-Q   Local Address:Port     Peer Address:Port 
LISTEN      0      128                 :::22                 :::*     
LISTEN      0      128                  *:22                  *:*     
LISTEN      0      128          127.0.0.1:631                 *:*     
LISTEN      0      128                ::1:631                :::*     
[[email protected]‘s linux ~]#

查看UDP连接

[[email protected]‘s linux ~]# ss -unl 
State       Recv-Q Send-Q   Local Address:Port     Peer Address:Port 
UNCONN      0      0                    *:631                 *:*     
[[email protected]‘s linux ~]# 
UDP协议是不建立会话的

显示所有状态连接的启动程序

[[email protected]‘s linux ~]# ss -anp
State       Recv-Q Send-Q   Local Address:Port     Peer Address:Port 
LISTEN      0      128                 :::22                 :::*      users:(("sshd",2201,4))
LISTEN      0      128                  *:22                  *:*      users:(("sshd",2201,3))
LISTEN      0      128          127.0.0.1:631                 *:*      users:(("cupsd",1996,7))
LISTEN      0      128                ::1:631                :::*      users:(("cupsd",1996,6))
ESTAB       0      52        172.18.0.144:22        172.18.17.1:14239  users:(("sshd",33586,3))
[[email protected]‘s linux ~]#

 查看所有22号端口建立的连接

[[email protected]‘s linux ~]# ss -o state established ‘( dport = :22 or sport = :22 )‘
Recv-Q Send-Q    Local Address:Port        Peer Address:Port   
0      52         172.18.0.144:ssh          172.18.17.1:9039     timer:(on,319ms,0)
[[email protected]‘s linux ~]#
时间: 2024-08-27 10:10:34

Linux网络配置基础及命令使用的相关文章

Linux网络配置基础篇

Linux网络配置基础篇 一.如何实现linux网络通信? 1)指定IP/NETMASK可实现本地通信: 2)指定路由(网关)可实现跨网络通信: 3)指定DNS服务器地址可实现基于主机名的通信, 主DNS服务器地址(当前服务器不在线时,启用备用DNS服务器地址) 备用DNS服务器地址 第三备份DNS服务器地址 二.配置网络方式及网络接口命名 linux 网络属于内核的功能, 配置方式: 静态指定:使用命令直接指定或修改配置文件 动态分配:依赖于本地网络中有DHCP服务 网络接口命名方式: 传统命

LINUX网络配置基础

第一章Linux基础网络设置 要求: DHCP服务器的主机名为dhcpsvr.benet.com,IP地址为192.168.4.11/24 用于给局域网内各主机自动分配的IP地址范围为192.168.4.20~192.168.4.200 局域网内各主机使用的默认网关地址为192.168.4.1 局域网内各主机使用的DNS服务器地址分别为192.168.4.2和192.168.4.3,DNS服务器的主机名分别为ns1.benet.com和ns2.benet.com 网络打印机设备(可在网络内另找一

Linux 网络配置 ifconfig ip 命令的使用

IP地址是属于内核的,不是属于网卡的.只要内核中有就能ping通. 常见的网卡类型: lo(loopback):本地回环. ethNUM:以太网网卡.CentOS7中为ensNUMs. pppNUM:点对点. 加载模块配置文件: /etc/modprobe.conf CentOS中默只有/etc/modprobe.conf/文件夹,可以手工创建. /etc/udev/rules.d/ #ifconfig [OPTION] [DEVICE] [IP/MASK|IP MASK] [up|donw]

Linux网络配置及SSH和Shell基础

Linux网络配置及SSH和Shell基础 一.Linux网络配置     ifconfig命令被用于配置和显示Linux内核中网络接口的网络参数.用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在.要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了. 二.hosts文件的作用及修改主机名      Hosts : The static table lookup for host name(主机名查询静态表)       Linux 的/etc/hosts是

linux网络配置命令(一)——ifconfig

linux网络配置命令(一)--ifconfig ifconfig 查看.配置网卡信息.已过时,推荐使用ip命令 格式:  ifconfig [interface]                                                         查看指定网卡信息,可不指定 ifconfig interface [aftype] options | address ...   设置指定网卡信息 选项 interface        网卡名 up          

linux入门基础——linux网络配置

linux网络配置 以太网连接 在linux中,以太网接口被命名为:eth0.eth1等,0.1代表网卡编号 通过lspci命令可以查看网卡硬件信息(如果是usb网卡,则需要使用lsusb命令) 命令ifconfig用来查看接口信息 ifconfig -a    查看所有接口 ifconfig 接口名字eth0    查看特定接口的信息 命令ifup.ifdown用来启用.禁用一个接口 ifup eth0 ifdown eth0 配置网络信息 使用setup命令可以配置网络信息 网络相关配置文件

Linux网络——配置网络之ifconfig家族命令

Linux网络——配置网络之ifconfig家族命令 摘要:本文主要学习了ifconfig家族用来配置网络的命令. ifconfig命令 ifconfig命令用来显示或设置网络接口信息,设置只是临时生效,永久生效需要更改配置文件. 在最新版的CentOS 7上已经没有了这个命令,需要使用 yum install -y net-tools 命令安装. 基本语法 1 ifconfig [选项] 选项说明 1 网卡:显示指定网卡接口信息. 2 -a:显示全部接口信息. 3 -s:显示摘要信息. 4 网

Linux网络配置之二ip、ss、网络相关配置文件

本文续网络基础与Linux网络配置之一 ifconfig.route.netstat命令详解 ip命令 作用ip是iproute2软件包里面的一个强大的网络配置工具,它能够替代一些传统的网络管理工具,例如ifconfig.route等,使用权限为超级用户.几乎所有的Linux发行版本都支持该命令. 格式ip [ OPTIONS ] OBJECT { COMMAND | help }   OBJECT := { link | addr | route | netns  } 注:OBJECT可简写,

linux网络配置相关文件

网络接口(interface)是网络硬件设备在操作系统中的表示方法,比如网卡在Linux操作系统中用ethX,是由0开始的正整数,比如eth0.eth1...... ethX.而普通猫和ADSL的接口是 pppX,比如ppp0等: 机器中所有可用网卡及名字: 参考:linux网络配置相关命令.虚拟网络接口eth0:0 网关GateWay配置地址: /etc/sysconfig/network  GATEWAY=192.168.1.250 /etc/sysconfig/network-script