Linux自学笔记——Linux网络基础、命令及属性配置

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介:

 

网络对于Linux来说不可或缺的一部分,本文主要对linux网络的基础知识,常用配置命令以及linux配置文件的属性等等作一个总结。

计算机网络:

      TCP/IP协议栈: TCP/IP分为4层,分别为应用层,传输层,网络互连层,主机到网络层,不同于OSI,他将OSI中的会话层、表示层规划到应用层,把数据链路层和物理层划分给主机到网络层。

      OSI,Open System Interconnection,开放式系统互联,国际化标准组织ISO制定了OSI模型,该模型定义了不同计算机互联的标准,是设计和描述计算机网络通信的基本框架。OSI模型把网络通信的工作层分为七层,从上至下分别为应用层,表示层,会话层,传输层,网络层,数据链路层和物理层。

      MAC: Media Access Control,媒体访问控制器,也被称为物理地址,采用十六进制数来表示,共48bits,常用来定义网络设备的位置。在OSI模型中,第三层网络层负责IP地址,第二层数据链路层负责MAC地址。因此一个主机会有一个MAC地址,而每个网络位置会有一个专属它的IP地址。MAC地址由网卡决定,是固定的。

      网桥(Bridge),也叫做桥接器,是连接两个局域网的一种存储/转发设备,根据MAC地址分区块,可隔离碰撞,它能将一个大的LAN分割为多个网段,或将两个以上的LAN互联为一个逻辑LAN,使LAN上的所有用户都可访问服务器。

      交换机(Switch)意为“开关,是一种用于电(光)信号转发的网络设备。它可以为接入交换机的任意两个网络节点提供独享的电信号通路。最常见的交换机是以太网交换机。其他常见的还有电话语音交换机、光纤交换机等。交换机相当于一个多端口的网桥。

      IP地址,Internet Protocol Address,国际互联网协议地址。IP地址是IP协议提供的一种统一的地址格式,它为互联网的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。

      IPv4: 32bits

           8bits.8bits.8bits.8bits

           0-255

           0.0.0.0-255.255.255.255

          

           IP地址分类:

           A类:

                 第一段为网络号,后三段为主机号

                 网络号:

                      0 000 0000 – 0 111 1111: 1-127

                 网络数量:126,127

                 每个网络中的主机数量:2^24-2

                 默认子网掩码:255.0.0.0,/8

                      用于与IP地址按位“与”运算,从而取出其网络地址:

                      1.3.2.1/255.0.0.0=1.0.0.0

                 私网地址:10.0.0.0/255.0.0.0

           B类:

                 前两段为网络号,后两段为主机号

                 网络号:

                      10 00 0000 – 10 11 1111: 128-191

                      网络数:2^14

                      每个网络中的主机数量:2^16-2

                      默认子网掩码:255.255.0.0 ,/16

                      私网地址:172.16.0.0-172.31.0.0

           C类:

                 前三段为网络号,最后一段为主机号

                 网络号:

                      110 0 0000 – 110 1 1111: 192-223

                 网络数:2^21

                 每个网络中的主机数量:2^8-2

                 默认子网掩码:255.255.255.0,/24

           D类:组播

                11100000 – 1110 1111: 224-239

           E类:科研

                 240-255

      跨网络通信:路由

           主机路由:从一台主机到另一台主机经过的路由;

           网络路由:从主机发出的数据包通过该路由链接到网络;

           默认路由:从主机发出的所有数据包都经过该路由发出;

      可以用route命令查看路由情况,在下面介绍。

IP/mask

路由:默认网关

DNS服务器:

      主DNS服务器;

      次DNS服务器;

      第三DNS服务器;

     DNS的配置将在下面具体介绍。

 

配置方式:

      静态指定:

配置文件:

动态分配:

网络命令管理:

Ifconfig命令:

      ifconfig - configure a network interface

      ifconfig [interface]

      #ifconfig :显示主机活动的网络接口信息

      wKiom1mbqfmSpR8VAABf9l2iCIk731.png-wh_50

      #ifconfig -a:显示本机所有网络接口信息

      wKiom1mbqgXAT1OGAABfauZ1rH4636.png-wh_50

      #ifconfig IFACE [up|down]:启用|禁用指定接口

      #ifconfig IFACE :显示指定接口的信息

      wKiom1mbqhDiGwYDAAA6DXnhIoQ559.png-wh_50

   ifconfiginterface [aftype] options | address ...

      #ifconfig IFACE IP/mask:给指定的接口配置IP和掩码

      #ifconfig IFACE IP netmask MASK: 给指定的接口配置IP和掩码

      wKioL1mbqhLAtgIfAAEM7bJjUz8739.png-wh_50

      NOTE:此命令配置IP立即生效,但是重启后则失效;

      [禁用]启用混杂模式:[-]promisc(一般用于网络监控,混杂模式表示即便目标MAC不是自己也会接收)

route命令:

      路由条目类型:

           主机路由:目标地址为单个IP;

           网络路由:目标地址为IP网络;

           默认路由:目标为任意网络,0.0.0.0/0.0.0.0

      route - show / manipulate the IP routingtable 显示/更改IP路由表

      #route –n 查看路由表

      wKiom1mbqiezAzA-AAAXHKO-FVU978.png-wh_50

      routeadd:添加

      route add [-net|host] target [netmask Nm][gw GW] [[dev] If]

举例:增加主机路由,目标地址:192.168.1.5     网关:192.168.19.1

      wKioL1mbqiyzRYnIAAAqR-437xE251.png-wh_50

      PS:UGH标志位,U代表up,G代表gateway,H代表Host

      增加网络路由,目标172.16.0.0,网关192.168.19.1

      wKiom1mbqj6A1GwfAAAykCaMEeM346.png-wh_50

      默认路由,网关:192.168.19.1

      #route add –net 0.0.0.0 netmask 0.0.0.0 gw192.168.19.1

      #route add default gw 192.168.19.1

      wKiom1mbqkmA7yO6AAA1lNr8e4I361.png-wh_50

      routedel:删除

     route  del [-net|-host] target  [gw Gw]  [netmask Nm] [[dev] If]

举例:删除目标主机:192.168.1.3,网关:192.168.19.1

      #route del –host 192.168.1.3

      wKioL1mbqkrRozZWAABUNpWYHyA599.png-wh_50

      删除目标:172.16.0.0,网关:192.168.19.1

      wKiom1mbqnTDGyiaAAAqjGQq37w259.png-wh_50

netstat命令:

       netstat  -  Print network  connections, routingtables, interface statistics, masquerade

       connections, and multicast memberships    打印网络连接,路由表,接口状态等信息

      显示路由表:netstat –rn

           -r:显示内核路由表

           -n:以数字格式显示

      wKiom1mbqn6glB9hAAAkIBTJWGg142.png-wh_50

 

      显示网络连接:

      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协议相关;

      wKioL1mbqoCBbkewAAAzHKXgamY319.png-wh_50

      -u:udp协议相关;

      wKioL1mbqorD5klRAAAWxkC45oY045.png-wh_50

      -w:raw socket相关 裸套接字相关

      -l:处于监听状态;、

      wKioL1mbqqPCx9N5AAA5bjIMJq8790.png-wh_50

      -a:所有状态;

      -n:以数字形式显示IP和端口;

      -e:扩展格式;

      wKioL1mbqrCzufDZAAB1xHfrZJw279.png-wh_50

      -p:显示相关进程及PID

常用组合:-tan,-uan,-tnl,-unl

    wKiom1mbqsbSu07QAABUy9jFyYA262.png-wh_50

 

显示接口的统计数据:

netstat    {--interfaces|-I|-i}    [iface]  [--all|-a]   [--extend|-e]   [--verbose|-v]   [--program|-p]  [--numeric|-n]

所有接口:

  netstat–i

    wKiom1mbqtWzHGf6AAAaXu6Gw3U169.png-wh_50

指定接口:

  netstat–I<IFACE>

    wKiom1mbquSj1X75AAAZIN1dDH4621.png-wh_50

 

ip命令:配置linux网络属性

      ip - show / manipulate routing, devices,policy routing and tunnels

      ip [ OPTIONS ] OBJECT { COMMAND | help }

      OBJECT:= { link | addr | addrlabel | route | rule | neigh | tunnel | maddr | mroute |

               monitor }

           OPTIONS:= { -V[ersion] | -s[tatistics] | -r[esolve] | -f[amily] { inet | inet6 | ipx |

               dnet | link } | -o[neline] }

1.   ip link:network deviceconfiguration  网络设备管理

ip link set –change device attributes

dev NAME(default):指明要管理的设备,dev关键字可省略;

up和down:激活或者禁用指定端口;

wKiom1mbqvTB03jnAAAOhzqPfxY392.png-wh_50

multicast on或multicast off:启用或禁用多播功能;

name NAME:重命名接口

mtu NUMBER:设置MTU的大小,默认为1500;

netns PID:ns为namespace,用于将接口移动到指定的网络名称空间;

 

show   —— display device attributes显示设备信息

wKioL1mbqvaw2U1CAAAnYVANwT4403.png-wh_50

  [dev IFACE]:显示指定的接口信息;

    wKiom1mbqwmTzFpPAAAbBA6Wyyw081.png-wh_50

  [up]:显示已启用的接口信息;

  wKiom1mbqxTTT06IAAAmZRvt93g694.png-wh_50

2.   ip address - protocol address management.  地址管理

ip address add- add new protocol address      增加一个ip地址

wKioL1mbqxnAyIreAAA9QAdDXJY662.png-wh_50

  [label NAME]:为额外添加的地址指明接口别名;

  wKiom1mbqyyyx-0xAAA-TZyzHDc140.png-wh_50

  [broadcast ADDRESS]:广播地址;会根据IP和NETMASK自动计算得到;

  [scope SCOPE_VALUE]:指明作用域

        global:全局可用;

        link:接口可用;

        host:仅本机可用;

 

ip addressdelete – delete protocol address   删除ip地址

wKiom1mbqziTmwzeAAA0_EPkJzQ877.png-wh_50

ip addressshow - look at protocol addresses

  [dev DEVICE]:

  [label PATTERN]:

  [primary and secondary]:

  ip addr   list  [IFACE]:显示接口的地址;

wKioL1mbq0XhyQNYAABG0cabTVY142.png-wh_50

ipaddress flush - flush protocol addresses  清除协议地址

  ip addr  flush  dev IFACE       

ip addressflush 的用法与ip address show用法相似。

3.   ip route - routing table management       路由表管理

ip route add -add new route    增加新的路由表

ip routechange - change route改变路由表

ip routereplace - change or add new one   更改或者增加一个新的路由表

  ip route   add  TYPE PREFIX via GW  [dev  IFACE] [src SOURCE_IP]

wKioL1mbq1CiMaFvAAAtBet1Oa8192.png-wh_50

ip routedelete – delete route  删除路由表

  ip route  del  TYPE PRIFIX

wKioL1mbq1mS7Nn3AAAoNUofHcE666.png-wh_50

ip route show– list route        展示路由表

wKiom1mbq3XhyRvdAAAmRSKxKzY195.png-wh_50

ip route flush- flush routing tables      清除路由表

  [dev IFACE]:与指定接口相关

  [via PREFIX]:与指定网关相关

ip route get -get a single route

  ip route  get  TYPE PRIFIX

wKioL1mbq3bAYAxKAAAW4-E3iGY924.png-wh_50

ss命令:网络状态信息查看工具

ss - another utility to investigatesockets

ss [options] [ FILTER ]

[options]:

  -t:tcp协议相关

  -u:udp协议相关

  -w:裸套接字相关

  -x:unix sock相关    unix套接字相关,一种基于本机内存的快速数据交换

  -l:listen状态的连接

  -a:所有

  -n:数字格式

  -p:相关程序及PID

  -e:扩展的信息

  -m:内存用量

  -o:计时器信息

FILTER := [ state TCP-STATE ]  [ EXPRESSION ]

  TCP常见状态:

       TCPFSM:

             LISTEN:监听;

             ESTABLISEHD:已建立的连接;

             FIN_WALL_1:

             FIN_WALL_2:

             SYN_SENT:

             SYN_RECV:

             CLOSED:

           EXPRESSION:

                 dport =

                 sport =

                 示例:'( dport = :22 or sport = :22)'

                 ~]# ss   -tan   '(  dport = :22 or sport =:22  )'

                 ~]# ss  -tan state  ESTABLISHED

    wKioL1mbq4rxF_WgAAAX7dktTEw253.png-wh_50

配置文件:

DNS服务器指定:

     配置文件:/etc/resolv.conf

      wKiom1mbq5yDpbGdAAAWhM8QjnU902.png-wh_50

      指定DNS服务器可以编辑此文件,DNS编辑格式为:

      nameserver DNS_SERVER_IP1

      nameserver DNS_SERVER_IP2

      nameserver DNS_SERVER_IP3

     

      正向解析:FQDN——>IP

      #dig –t A FQDN(完全合格域名)

      wKiom1mbq6bCoLFKAABOWm1eCdo752.png-wh_50

      #host –t A FQDN

      wKioL1mbq6uRQCHxAAAYLdohuHo012.png-wh_50

      反向解析:IP——>FQDN

      #dig –x IP

      #host –t PTR IP

      wKioL1mbq7bhnK1MAABG1G2uc0c515.png-wh_50

网卡配置文件:

      IP/NETMASK/GW/DNS等属性的配置文件为:/etc/sysconfig/network-scripts/ifcfg-IFACE

           IFACE:接口名称;

      路由的相关配置文件:/etc/sysconfig/network-scripts/route-IFACE(此文件默认是不存在的,需要自己手动创建)

      配置文件/etc/sysconfig/network-scripts/ifcfg-IFACE通过大量参数来定义接口的属性;其可通过vim等文本编辑器直接修改,也可以使用专用的命令的进行修改(CentOS 6:system-config-network (setup),CentOS 7:nmtui)

      Ifcfg-IFACE配置文件参数:

           DEVIVE:此配置文件的对应的设备名称;

           ONBOOT:在系统引导过程中,是否激活此接口;

           UUID:此设备的惟一标识;

           IPV6INIT:是否初始化IPv6;

           BOOTPROTO:激活此接口时使用什么协议来配置接口属性,常用的有dhcp、bootp、static、none;

           TYPE:接口类型,常见的有Ethernet, Bridge;

           DNS1:第一DNS服务器指向;

           DNS2:备用DNS服务器指向;

           DOMAIN:DNS搜索域;

           IPADDR: IP地址;

           NETMASK:子网掩码;CentOS 7支持使用PREFIX以长度方式指明子网掩码;

           GATEWAY:默认网关;

           USERCTL:是否允许普通用户控制此设备;

   PEERDNS:如果BOOTPROTO的值为“dhcp”,是否允许dhcp server分配的dns服务器指向覆盖本地手   动指定的DNS服务器指向;默认为允许;

           HWADDR:设备的MAC地址;

           NM_CONTROLLED:是否使用NetworkManager服务来控制接口;

      route-IFACE配置文件格式:

      两种风格:(不能混合使用)

(1)            TARGET via GW

(2)            每三行定义一条路由(#表示数字编号)

ADDRESS#=TARGET

NETMASK#=mask

GATEWAY#=GW

           下面我们首先采用第一种方式编辑配置文件:

           wKioL1mbq8OB4GgpAAAy9Fy0cA0284.png-wh_50

           有时配置文件修改不会立即生效,利用命令service network restart重启网卡。

            我们再来采用第二种方式来编辑配置文件:

           wKiom1mbq9XQ6fQjAAA4Nz1hEvw810.png-wh_50

Linux网络属性配置的tui(text user interface)

      输入指令:#system-config-network-tui,会出现如下画面,可在里面设置网络配置

      wKioL1mbq9iT1axBAAA5FNTjEmw923.png-wh_50

      也可以使用setup找到,

      NOTE:记得重启网络服务才能生效

配置当前主机的主机名:

(1) hostname  HOSTNAME

        wKioL1mbrACRMvQ8AAARD3fmfRY064.png-wh_50

(2) 编辑/etc/sysconfig/network

            HOSTNAME=[hostname]

        wKioL1mbrCXT57-5AAAUapcKeW4458.png-wh_50

网络接口识别并命名相关的udev配置文件:

      /etc/udev/rules.d/70-persistent-net.rules     立即生效需卸载网卡后重新装载

      卸载网卡驱动:modprobe –r e1000

      装载网卡驱动:modprobe e1000

      wKioL1mbrDKRY53gAABBy_YyUTQ444.png-wh_50



本文转自 claude_liu 51CTO博客,原文链接:http://blog.51cto.com/claude666/1958281,如需转载请自行联系原作者

相关文章
|
4天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
21 3
|
4天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
16 2
|
6天前
|
缓存 资源调度 安全
深入探索Linux操作系统的心脏——内核配置与优化####
本文作为一篇技术性深度解析文章,旨在引领读者踏上一场揭秘Linux内核配置与优化的奇妙之旅。不同于传统的摘要概述,本文将以实战为导向,直接跳入核心内容,探讨如何通过精细调整内核参数来提升系统性能、增强安全性及实现资源高效利用。从基础概念到高级技巧,逐步揭示那些隐藏在命令行背后的强大功能,为系统管理员和高级用户打开一扇通往极致性能与定制化体验的大门。 --- ###
27 9
|
4天前
|
安全 网络协议 Linux
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。通过掌握 ping 命令,读者可以轻松测试网络连通性、诊断网络问题并提升网络管理能力。
21 3
|
6天前
|
网络协议 Linux
使用nmcli命令设置IP地址并排查网络故障
nmcli 是一个功能强大的网络管理工具,通过它可以轻松配置IP地址、网关和DNS,同时也能快速排查网络故障。通过正确使用nmcli命令,可以确保网络配置的准确性和稳定性,提高系统管理的效率。希望本文提供的详细步骤和示例能够帮助您更好地掌握nmcli的使用方法,并有效解决实际工作中的网络问题。
13 2
|
7天前
|
网络虚拟化 数据安全/隐私保护 数据中心
对比了思科和华为网络设备的基本配置、接口配置、VLAN配置、路由配置、访问控制列表配置及其他重要命令
本文对比了思科和华为网络设备的基本配置、接口配置、VLAN配置、路由配置、访问控制列表配置及其他重要命令,帮助网络工程师更好地理解和使用这两个品牌的产品。通过详细对比,展示了两者的相似之处和差异,强调了持续学习的重要性。
20 2
|
12天前
|
缓存 监控 Linux
|
15天前
|
Linux Shell 数据安全/隐私保护
|
16天前
|
域名解析 网络协议 安全
|
22天前
|
运维 监控 网络协议