Linux网络基础

网线

568A

568B

线序:橙白橙 绿白蓝 蓝白绿 棕白棕

交换机、路由器

交换机:DLINK、H3C、CISCO

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

路由器:CISCO

路由器(Router)是连接因特网中各局域网、广域网的设备,它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送信号。

OSI7层网络模型

物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

TCP/IP:

数据链路层:ARP、RARP

网络层:IP、ICMP、IGMP

传输层:TCP、UDP、UGP

应用层:Telnet、FTP、SMTP、SNMP

OSI

物理层:EIA/TIA-232、EIA/TIA-499、V.35、V.24、RJ45、Ethernet、802.3、802.5、FDDI、NRZI、NRZ、B8ZS

数据链路层:Frame Relay、HDLC、PPP、IEEE 802.3/802.2、FDDI、ATM、IEEE 802.5/802.2

网络层:IP、IPX、AppleTalk DDP

传输层:TCP、UDP、SPX

会话层:RPC、SQL、NFS、NetBIOS、names、AppleTalk、ASP、DECnet、SCP

表示层:TIFF、GIF、JPEG、PICT、ASCII、EBCDIC、encryption、MPEG、MIDI、HTML

应用层:FTP、WWW、Telnet、NFS、SMTP、Gateway、SNMP

协议

协议是通信双方为了实现通信而设计的约定或通话规则。

http协议工作原理

tcp/ip协议的三次握手四次断开。

用户上网过程原理

DHCP服务

NAT网络地址转换

私网地址:

10.0.0.0/8(10.0.0.0到10.255.255.255)

172.16.0.0/12(172.16.0.0到172.31.255.255)

192.168.0.0/16(192.168.0.0到192.168.255.255)

169.254.0.0/16(169.254.0.0到169.254.255.255)

ip地址分类

A类

1.0.0.0到126.0.0.0

0.0.0.0和127.0.0保留

B类

128.1.0.0到191.254.0.0

128.0.0.0和191.255.0.0保留

C类

192.0.1.0到223.255.254.0

192.0.0.0和223.255.255.0保留

D类

224.0.0.0到239.255.255.255用于多点广播

E类

240.0.0到255.255.255.254保留

255.255.255.255用于广播

用户访问网站的流程

DNS

DNS(Domain Name System)

oldboy.me>>>1.1.1.1过程就需要DNS解析(电脑里配置的DNS)

DNS能干什么?

A记录:oldboy.me>>>1.1.1.1

CNAME:常被CDN服务商应用

MX解析记录:XXXX@qq.com搭建邮件服务

PTR反向解析:1.1.1.1>>>邮件服务

A记录解析过程:

浏览器>>> oldboy.me>>>网站服务器的ip地址1.1.1.1>>>ip地址对应的网站服务器

DNS解析流程原理

递归查询>>>迭代查询

DNS本身是倒挂的树状结构,它的顶点也是根"."。

根服务器,全球13台服务器。

顶级域名:org、com、net、me、cc

一级域名:oldboy、baidu、sina

DNS域名解析查询

dig www.baidu.com

查看dns解析流程

dig@8.8.8.8
www.baidu.com +trace

nslookup

host www.baidu.com

ping www.baidu.com

配置网卡

网卡配置文件/etc/sysconfig/network-scripts/ifcfg-eth0

  1. [root@oldboy ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
  2. DEVICE=eth0 #第一块网卡逻辑设备名,第二块eth1,有些系统也会以em等字符标识
  3. HWADDR=00:0C:29:96:43:67 #以太网硬件地址即MAC地址,如果是vmware克隆的虚拟机无法启动网卡应该删除此项
  4. TYPE=Ethernet #上网类型,目前基本都是以太网
  5. UUID=9b7c820b-b8ab-4c33-a7e8-c4da818b1ae2 #通用唯一标识码,如果vmware克隆的虚拟机无法启动网卡应该删除此项
  6. ONBOOT=yes #yes表示开机自启动激活网卡设备
  7. NM_CONTROLLED=yes #是否通过NetworkManager管理网卡设备。
  8. BOOTPROTO=dhcp #启动协议,获取配置方式,有none、bootp、dhcp三个选项。
  9. DNS1=8.8.8.8 #主DNS,这里默认会覆盖以及优先于/etc/resolv.conf的配置生效
  10. DNS2=202.106.0.20 #第二个DNS,这里默认会覆盖以及优先于/etc/resolv.conf的配置生效

IPADDR=10.0.0.8 #这是虚拟机桥接模式,局域网linux服务器的固定ip。

NETMASK=255.255.255.0 #子网掩码,用来规划网络位和主机位,一般为255.255.255.0

GATEWAY=10.0.0.254 #局域网上网网关地址

IPV6INIT=no #是否支持ipv6

查看磁盘的uuid

  1. [root@oldboy ~]# blkid
  2. /dev/sda1: UUID="16664a83-1118-495f-af51-363c9f6fb6e0" TYPE="ext4"
  3. /dev/sda2: UUID="54fd6fa3-c0aa-4f81-b33a-ec5224a367e4" TYPE="swap"
  4. /dev/sda3: UUID="1c715af5-9511-4058-9d1c-6191d8ead4e2" TYPE="ext4"

网卡生效

推荐ifdown、ifup

ifdown eth0 停掉eth0网卡

ifup eth0 启动eth0网卡

针对所有网卡

/etc/init.d/network restart #所有网卡

网卡配置的DNS优先于/etc/resolv.conf的配置,重启网卡会把/etc/resolv.conf覆盖。

网卡没有配置DNS,那么在/etc/resolv.conf里配置会生效,如果有多块网卡(DHCP获取方式)时候,可能会覆盖/etc/resolv.conf里已有的配置。

修改主机名的步骤

1、hostname oldboylinux

2、vi /etc/sysconfig/network

3、vi /etc/hosts

配置默认网关

第一生效文件

  1. [root@oldboylinux ~]# grep -i gate /etc/sysconfig/network-scripts/ifcfg-eth0

第二生效文件

  1. [root@oldboylinux ~]# grep -i gate /etc/sysconfig/network

查看网关

  1. [root@oldboylinux ~]# route -n
  2. Kernel IP routing table
  3. Destination Gateway Genmask Flags Metric Ref Use Iface
  4. 192.168.31.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
  5. 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
  6. 0.0.0.0 192.168.31.2 0.0.0.0 UG 0 0 0 eth0
  7. [root@oldboylinux ~]# netstat -rn
  8. Kernel IP routing table
  9. Destination Gateway Genmask Flags MSS Window irtt Iface
  10. 192.168.31.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
  11. 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
  12. 0.0.0.0 192.168.31.2 0.0.0.0 UG 0 0 0 eth0

删除、添加默认网关

  1. [root@oldboylinux ~]# route del default gw 10.0.0.254
  2.  
  3. [root@oldboylinux ~]# route add default gw 10.0.0.254

配置与查看网络信息

ifconfig查看配置别名ip等

别名IP,VIP虚拟IP

  1. [root@oldboylinux ~]# ifconfig eth0:1 10.0.0.11/24 up
  2. [root@oldboylinux ~]# ifconfig
  3. eth0:1 Link encap:Ethernet HWaddr 00:0C:29:96:43:67
  4.           inet addr:10.0.0.11 Bcast:10.0.0.255 Mask:255.255.255.0
  5.           UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

ifconfig eth0:x down 停掉别名ip。

ip的方式配多个ip,辅助ip。

辅助ip形式:keepalived 高可用一直都是用辅助ip

网卡重启别名ip失效,写成配置文件(/etc/sysconfig/network-scripts/ifcfg-eth0:1)。

  1. [root@oldboylinux ~]# ip addr add 10.0.0.12/24 dev eth0:1
  2. [root@oldboylinux ~]# ip add
  3. 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
  4.     link/ether 00:0c:29:96:43:67 brd ff:ff:ff:ff:ff:ff
  5.     inet 192.168.31.128/24 brd 192.168.31.255 scope global eth0
  6.     inet 10.0.0.12/24 scope global eth0
  7.     inet6 fe80::20c:29ff:fe96:4367/64 scope link
  8.        valid_lft forever preferred_lft forever

lsof

已知一个端口为333,如何查看端口对应的服务名?

方法一:

  1. [root@oldboylinux ~]# lsof -i:333

方法二:

  1. [root@oldboylinux ~]# netstat -lntup|grep 333

查看删除的但仍被进程占用的文件

  1. [root@oldboylinux ~]# lsof |grep del

网络检查

1、ping www.baidu.com ,icmp协议,linux禁止icmp。(高速公路有没有修通)

2、traceroute www.baidu.com -n(跟踪路由)基础检查,各个高速节点有没有修通

windows跟踪路由

tracert –d www.baidu.com

3、telnet www.baidu.com 80检查服务器web有没有开启,服务有没有启动,以及防火墙有没有挡住。

nmap 10.0.0.25 -p 80

nc

不通:

1、80服务没开或端口不存在。

2、fw防火墙阻挡了。

3、服务监听的端口不在连接的ip上。

4、ISP运营商默认不开,申请开端口。

抓包工具

tcpdump

tcpdump -n icmp -i eth0

  1. [root@oldboylinux ~]# tcpdump -n icmp -i eth0
  2. tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
  3. listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
  4. 21:42:05.685111 IP 192.168.31.1 > 192.168.31.128: ICMP echo request, id 1, seq 1, length 40
  5. 21:42:05.685202 IP 192.168.31.128 > 192.168.31.1: ICMP echo reply, id 1, seq 1, length 40
  6. 21:42:06.690060 IP 192.168.31.1 > 192.168.31.128: ICMP echo request, id 1, seq 2, length 40
  7. 21:42:06.690097 IP 192.168.31.128 > 192.168.31.1: ICMP echo reply, id 1, seq 2, length 40
  8. 21:42:07.704058 IP 192.168.31.1 > 192.168.31.128: ICMP echo request, id 1, seq 3, length 40
  9. 21:42:07.704088 IP 192.168.31.128 > 192.168.31.1: ICMP echo reply, id 1, seq 3, length 40
  10. 21:42:08.717695 IP 192.168.31.1 > 192.168.31.128: ICMP echo request, id 1, seq 4, length 40
  11. 21:42:08.717725 IP 192.168.31.128 > 192.168.31.1: ICMP echo reply, id 1, seq 4, length 40

nmap

windows:wireshark,sniffer,科来网络分析。

Linux基础介绍【第八篇】的更多相关文章

  1. Linux基础介绍【第二篇】

    远程连接Linux的原理 SHH远程连接介绍 当前,在几乎所有的互联网企业环境中,最常用的Linux提供远程连接服务的工具就是SSH软件,SSH分为SSH客户端和SSH服务端两部分.其中,SSH服务端 ...

  2. Linux基础介绍【第一篇】

    Linux简介 什么是操作系统? 操作系统,英文名称Operating System,简称OS,是计算机系统中必不可少的基础系统软件,它是应用程序运行以及用户操作必备的基础环境支撑,是计算机系统的核心 ...

  3. Linux基础介绍【第九篇】

    服务器添加3块磁盘的体系结构 [root@oldboylinux test]# free -m              total used free shared buffers cached M ...

  4. Linux基础知识第八讲,系统相关操作命令

    目录 Linux基础知识第八讲,系统相关操作命令 一丶简介命令 2.磁盘信息查看. 3.系统进程 Linux基础知识第八讲,系统相关操作命令 一丶简介命令 时间和日期 date cal 磁盘和目录空间 ...

  5. Linux基础介绍【第四篇】

    Linux文件和目录的属性及权限 命令: [root@oldboy ~]# ls -lhi total 40K 24973 -rw-------. 1 root root 1.1K Dec 10 16 ...

  6. Linux基础介绍【第六篇】

    定时任务crond介绍 crond是什么? crond是linux系统中用来定期执行命令或指定程序任务的一种服务或软件.一般情况下,安装完CentOS5/6 linux操作系统之后,默认便会启动cro ...

  7. Linux基础介绍【第五篇】

    linux权限位 Linux文件或目录的权限位是由9个权限位来控制,每三位为一组,它们分别是文件属主权限.属组权限.其他用户权限. r:read可读权限,对应数字4: w:write可写权限,对应数字 ...

  8. Linux基础介绍【第七篇】

    linux用户分类 超级用户:UID=0,root 普通用户:UID 500起,由超级用户或具有超级用户权限的用户创建的用户. 虚拟用户:UID 1-499,为了满足文件或服务启动的需要而存在,一般都 ...

  9. Linux基础介绍【第三篇】

    更改SSH服务端远程登录的配置 windows服务端的默认远程管理端口是3389,管理员用户是administrator,普通用户是guest.Linux的管理用户是root,普通用户默认有很多个,远 ...

随机推荐

  1. node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理

    一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...

  2. 在SQL2008查找某数据库中的列是否存在某个值

    在SQL2008查找某数据库中的列是否存在某个值 --SQL2008查找某数据库中的列是否存在某个值 create proc spFind_Column_In_DB ( @type int,--类型: ...

  3. .NET Core的日志[3]:将日志写入Debug窗口

    定义在NuGet包"Microsoft.Extensions.Logging.Debug"中的DebugLogger会直接调用Debug的WriteLine方法来写入分发给它的日志 ...

  4. 创建几个常用table展示方式插件

    这次和大家分享的是自己写的一个table常用几种展示格式的js插件取名为(table-shenniu),样式使用的是bootstrap.min.css,还需要引用jquery.min.js包,这个插件 ...

  5. .net 大型分布式电子商务架构说明

    .net大型分布式电子商务架构说明 背景 构建具备高可用,高扩展性,高性能,能承载高并发,大流量的分布式电子商务平台,支持用户,订单,采购,物流,配送,财务等多个项目的协作,便于后续运营报表,分析,便 ...

  6. JS判断鼠标进入容器方向的方法和分析window.open新窗口被拦截的问题

    1.鼠标进入容器方向的判定 判断鼠标从哪个方向进入元素容器是一个经常碰到的问题,如何来判断呢?首先想到的是:获取鼠标的位置,然后经过一大堆的if..else逻辑来确定.这样的做法比较繁琐,下面介绍两种 ...

  7. Eclipse出现"Running Android Lint has encountered a problem"解决方案

    安装eclipse for android 时候的错误记录,转载自:http://blog.csdn.net/chenyufeng1991/article/details/47442555 (1)打开 ...

  8. Kotlin与Android SDK 集成(KAD 05)

    作者:Antonio Leiva 时间:Dec 19, 2016 原文链接:https://antonioleiva.com/kotlin-integrations-android-sdk/ 使用Ko ...

  9. oracle常用函数及示例

    学习oracle也有一段时间了,发现oracle中的函数好多,对于做后台的程序猿来说,大把大把的时间还要学习很多其他的新东西,再把这些函数也都记住是不太现实的,所以总结了一下oracle中的一些常用函 ...

  10. linux基础命令

    系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS ...