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

网络对于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 :显示主机活动的网络接口信息

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

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

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

ifconfiginterface [aftype] options | address ...

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

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

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

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

route命令:

路由条目类型:

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

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

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

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

#route –n 查看路由表

routeadd:添加

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

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

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

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

默认路由,网关: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

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

删除目标:172.16.0.0,网关:192.168.19.1

netstat命令:

       netstat  -  Print network  connections, routingtables, interface statistics, 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协议相关;

-u:udp协议相关;

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

-l:处于监听状态;、

-a:所有状态;

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

-e:扩展格式;

-p:显示相关进程及PID

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

显示接口的统计数据:

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

所有接口:

netstat–i

指定接口:

netstat–I<IFACE>

 

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:激活或者禁用指定端口;

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

name NAME:重命名接口

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

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

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

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

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

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

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

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

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

[scope SCOPE_VALUE]:指明作用域

global:全局可用;

link:接口可用;

host:仅本机可用;

ip addressdelete – delete protocol address   删除ip地址

ip addressshow - look at protocol addresses

[dev DEVICE]:

[label PATTERN]:

[primary and secondary]:

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

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]

ip routedelete – delete route  删除路由表

ip route  del  TYPE PRIFIX

ip route show– list route        展示路由表

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

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

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

ip route get -get a single route

ip route  get  TYPE PRIFIX

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

配置文件:

DNS服务器指定:

     配置文件:/etc/resolv.conf

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

nameserver DNS_SERVER_IP1

nameserver DNS_SERVER_IP2

nameserver DNS_SERVER_IP3

正向解析:FQDN——>IP

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

#host –t A FQDN

反向解析:IP——>FQDN

#dig –x IP

#host –t PTR IP

网卡配置文件:

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

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

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

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

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

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

也可以使用setup找到,

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

配置当前主机的主机名:

(1) hostname  HOSTNAME

(2) 编辑/etc/sysconfig/network

HOSTNAME=[hostname]

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

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

卸载网卡驱动:modprobe –r e1000

装载网卡驱动:modprobe e1000

时间: 2024-08-25 00:09:54

Linux自学笔记——Linux网络基础、命令及属性配置的相关文章

【苏勇老师Linux 入门笔记】网络基础

IP 地址 IP 编制时一个双层编制方案,一个 IP 地址标示一个主机 (或一个网卡接口). 一个 IP 地址分为两个部分:网络部分(所属区域)和主机部分(标示区域中的哪个主机).IPv4 共32位,通常用点分十进制表示. 子网掩码用于将网络部分和主机部分区分开来,子网掩码为1(二进制)的部分为网络部分. MAC地址主要用于同网络间主机的通信,通过ARP协议(同网络中使用)获取同网路其他主机的MAC地址.同网络的主机一般直接相连或通过交换机. 不同网段间通过路由器/网关连接.路由器一般有多个接口

linux自学笔记--linux网络配置、基础网络命令

1.网络配置 /etc/sysconfig/net-script/ifcfg-* DEVICE:接口名 UUID:设备唯一标示 HWADDR:网卡地址 ONBOOT:是否开机自启 BOOTPROTO:static|none|dhcp TYPE:Ethernet|Bridge DNS1:dns地址 PEERDNS:如果为dhcp模式,是否自动分配dns地址,覆盖手动 IPADDR:ip地址 NETMASK:子网掩码 GATEWAY:网关地址 2.常用网络命令 ip: ip link show ip

Linux自学笔记——httpd2.2基础配置

http服务器程序: httpd(apache) nginx lighttpd 应用程序服务器: IIS: .net tomcat:.jsp 可访问网址:www.netcraft.com httpd的安装和使用: ASF:apache software foundation httpd:apache a patchy server =apache httpd的特性: 高度模块化:core + modules DSO:dynamic shared object MPM:Multipath proc

Linux自学笔记——linux进程及作业管理

内核的功用主要有进程管理.文件系统.网络功能.内存管理.驱动程序.安全功能这几个方面,本文主要讨论linux进程及作业管理. 进程管理: 进程,process,运行中程序的一个副本,且存在生命周期: 进程分为CPU bound和I/Obound. CPU bound:CPU密集型(类似于高清视频) I/O bound:IO密集型(编辑器等频繁IO操作) Linux内核存储进程信息的固定格式为:task struct(结构体) 多个任务的task struct组件的链表:task list 进程创

Linux自学笔记——linux文件系统

Linux的文件系统 根文件系统(rootfs),内核挂载的第一个文件系统,在启动流程的这一篇文章里有提到: LSB,FHS(Filesystem  Herirache Standard) 常用的文件系统目录:/etc,/usr,/var,/root/,/home,/dev 目录介绍:(以下截图很多是目录内容的部分截图) /boot:引导文件存放目录,内核文件(vmlinuxz).引导加载器(bootloader,grub)都存放于此目录: /bin:供所有用户使用的基本命令:不能关联至独立分区

Linux自学笔记——Linux周期性计划任务

未来的某时间点执行一次任务:at,batch 周期性运行某任务:crontab 执行结果:会通过邮件形式发送给用户: 本地邮件服务: smtp:simple mail transmission protocol: pop3:post office procotol: imap4:internet mail access procotol: mail命令: mailx - send and receive Internet mail: MUA:mail user agent,用户收发邮件的工具程序

linux学习笔记一:获取命令帮助

linux命令超多,忘记命令的使用方式.格式是很平常的事 囧.能够使用系统自带的帮助文件获取到相关的信息是学习linux的必备基本功! 下面记录几个常用的帮助命令,只为加深本菜的记忆,有不对的地方请看到这篇博文的大大加以指导,感激不尽! 简要介绍下命令,命令分为两大种类. 一种为shell自带的一些基础命令,称为内部命令.该类命令集成在shell内部,执行速度比外部命令快. 还有一种称为外部命令,该类命令是额外安装的,开机不自动加载,在需要使用时通过路径查找(printenv中的PATH项),加

Linux自学笔记(5):Linux基础命令

基础命令:date:date --help用法:date [选项]... [+格式] 或:date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][-ss]]date [MMDDhhmm[[cc]yy][-ss]]:设置MM:月DD:日hh:时mm:分YY:两位年份CCYY:四位年份-ss:秒钟 Linux的两种时钟系统时钟:由Linux内核通过CPU的工作频率进行的计时:硬件时钟:huclock:显示硬件时钟-s,--hctosys-w,--systohc c

Linux系统学习笔记之 1 基础命令

翻看日记,看到以前自己学习Linux是的笔记来了,温故而知新乎. 文件命名规则: 1.除了/之外,所有的字符都合法. 2.有些字符最好不要用,如空格符.制表符.退格符.和@ # & ( ) - 等. 2.避免使用.作为普通文件的第一个字符.(以点开头的是隐藏文件) 4.大小写敏感. 命令格式: 命令格式:命令 -选项 参数 例:ls -la /etc 说明:1.当有多个选项时,可以写在一起. 2.两个特殊的目录,.和.. ,分别代表当前目录和当前目录的父目录. 文件处理命令:ls 命令名称:ls