Linux基础介绍【第八篇】
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
- [root@oldboy ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
- DEVICE=eth0 #第一块网卡逻辑设备名,第二块eth1,有些系统也会以em等字符标识
- HWADDR=00:0C:29:96:43:67 #以太网硬件地址即MAC地址,如果是vmware克隆的虚拟机无法启动网卡应该删除此项
- TYPE=Ethernet #上网类型,目前基本都是以太网
- UUID=9b7c820b-b8ab-4c33-a7e8-c4da818b1ae2 #通用唯一标识码,如果vmware克隆的虚拟机无法启动网卡应该删除此项
- ONBOOT=yes #yes表示开机自启动激活网卡设备
- NM_CONTROLLED=yes #是否通过NetworkManager管理网卡设备。
- BOOTPROTO=dhcp #启动协议,获取配置方式,有none、bootp、dhcp三个选项。
- DNS1=8.8.8.8 #主DNS,这里默认会覆盖以及优先于/etc/resolv.conf的配置生效
- 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
- [root@oldboy ~]# blkid
- /dev/sda1: UUID="16664a83-1118-495f-af51-363c9f6fb6e0" TYPE="ext4"
- /dev/sda2: UUID="54fd6fa3-c0aa-4f81-b33a-ec5224a367e4" TYPE="swap"
- /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
配置默认网关
第一生效文件
- [root@oldboylinux ~]# grep -i gate /etc/sysconfig/network-scripts/ifcfg-eth0
第二生效文件
- [root@oldboylinux ~]# grep -i gate /etc/sysconfig/network
查看网关
- [root@oldboylinux ~]# route -n
- Kernel IP routing table
- Destination Gateway Genmask Flags Metric Ref Use Iface
- 192.168.31.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
- 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
- 0.0.0.0 192.168.31.2 0.0.0.0 UG 0 0 0 eth0
- [root@oldboylinux ~]# netstat -rn
- Kernel IP routing table
- Destination Gateway Genmask Flags MSS Window irtt Iface
- 192.168.31.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
- 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
- 0.0.0.0 192.168.31.2 0.0.0.0 UG 0 0 0 eth0
删除、添加默认网关
- [root@oldboylinux ~]# route del default gw 10.0.0.254
- [root@oldboylinux ~]# route add default gw 10.0.0.254
配置与查看网络信息
ifconfig查看配置别名ip等
别名IP,VIP虚拟IP
- [root@oldboylinux ~]# ifconfig eth0:1 10.0.0.11/24 up
- [root@oldboylinux ~]# ifconfig
- eth0:1 Link encap:Ethernet HWaddr 00:0C:29:96:43:67
- inet addr:10.0.0.11 Bcast:10.0.0.255 Mask:255.255.255.0
- 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)。
- [root@oldboylinux ~]# ip addr add 10.0.0.12/24 dev eth0:1
- [root@oldboylinux ~]# ip add
- 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
- link/ether 00:0c:29:96:43:67 brd ff:ff:ff:ff:ff:ff
- inet 192.168.31.128/24 brd 192.168.31.255 scope global eth0
- inet 10.0.0.12/24 scope global eth0
- inet6 fe80::20c:29ff:fe96:4367/64 scope link
- valid_lft forever preferred_lft forever
lsof
已知一个端口为333,如何查看端口对应的服务名?
方法一:
- [root@oldboylinux ~]# lsof -i:333
方法二:
- [root@oldboylinux ~]# netstat -lntup|grep 333
查看删除的但仍被进程占用的文件
- [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
- [root@oldboylinux ~]# tcpdump -n icmp -i eth0
- tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
- listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
- 21:42:05.685111 IP 192.168.31.1 > 192.168.31.128: ICMP echo request, id 1, seq 1, length 40
- 21:42:05.685202 IP 192.168.31.128 > 192.168.31.1: ICMP echo reply, id 1, seq 1, length 40
- 21:42:06.690060 IP 192.168.31.1 > 192.168.31.128: ICMP echo request, id 1, seq 2, length 40
- 21:42:06.690097 IP 192.168.31.128 > 192.168.31.1: ICMP echo reply, id 1, seq 2, length 40
- 21:42:07.704058 IP 192.168.31.1 > 192.168.31.128: ICMP echo request, id 1, seq 3, length 40
- 21:42:07.704088 IP 192.168.31.128 > 192.168.31.1: ICMP echo reply, id 1, seq 3, length 40
- 21:42:08.717695 IP 192.168.31.1 > 192.168.31.128: ICMP echo request, id 1, seq 4, length 40
- 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基础介绍【第八篇】的更多相关文章
- Linux基础介绍【第二篇】
远程连接Linux的原理 SHH远程连接介绍 当前,在几乎所有的互联网企业环境中,最常用的Linux提供远程连接服务的工具就是SSH软件,SSH分为SSH客户端和SSH服务端两部分.其中,SSH服务端 ...
- Linux基础介绍【第一篇】
Linux简介 什么是操作系统? 操作系统,英文名称Operating System,简称OS,是计算机系统中必不可少的基础系统软件,它是应用程序运行以及用户操作必备的基础环境支撑,是计算机系统的核心 ...
- Linux基础介绍【第九篇】
服务器添加3块磁盘的体系结构 [root@oldboylinux test]# free -m total used free shared buffers cached M ...
- Linux基础知识第八讲,系统相关操作命令
目录 Linux基础知识第八讲,系统相关操作命令 一丶简介命令 2.磁盘信息查看. 3.系统进程 Linux基础知识第八讲,系统相关操作命令 一丶简介命令 时间和日期 date cal 磁盘和目录空间 ...
- Linux基础介绍【第四篇】
Linux文件和目录的属性及权限 命令: [root@oldboy ~]# ls -lhi total 40K 24973 -rw-------. 1 root root 1.1K Dec 10 16 ...
- Linux基础介绍【第六篇】
定时任务crond介绍 crond是什么? crond是linux系统中用来定期执行命令或指定程序任务的一种服务或软件.一般情况下,安装完CentOS5/6 linux操作系统之后,默认便会启动cro ...
- Linux基础介绍【第五篇】
linux权限位 Linux文件或目录的权限位是由9个权限位来控制,每三位为一组,它们分别是文件属主权限.属组权限.其他用户权限. r:read可读权限,对应数字4: w:write可写权限,对应数字 ...
- Linux基础介绍【第七篇】
linux用户分类 超级用户:UID=0,root 普通用户:UID 500起,由超级用户或具有超级用户权限的用户创建的用户. 虚拟用户:UID 1-499,为了满足文件或服务启动的需要而存在,一般都 ...
- Linux基础介绍【第三篇】
更改SSH服务端远程登录的配置 windows服务端的默认远程管理端口是3389,管理员用户是administrator,普通用户是guest.Linux的管理用户是root,普通用户默认有很多个,远 ...
随机推荐
- node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理
一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...
- 在SQL2008查找某数据库中的列是否存在某个值
在SQL2008查找某数据库中的列是否存在某个值 --SQL2008查找某数据库中的列是否存在某个值 create proc spFind_Column_In_DB ( @type int,--类型: ...
- .NET Core的日志[3]:将日志写入Debug窗口
定义在NuGet包"Microsoft.Extensions.Logging.Debug"中的DebugLogger会直接调用Debug的WriteLine方法来写入分发给它的日志 ...
- 创建几个常用table展示方式插件
这次和大家分享的是自己写的一个table常用几种展示格式的js插件取名为(table-shenniu),样式使用的是bootstrap.min.css,还需要引用jquery.min.js包,这个插件 ...
- .net 大型分布式电子商务架构说明
.net大型分布式电子商务架构说明 背景 构建具备高可用,高扩展性,高性能,能承载高并发,大流量的分布式电子商务平台,支持用户,订单,采购,物流,配送,财务等多个项目的协作,便于后续运营报表,分析,便 ...
- JS判断鼠标进入容器方向的方法和分析window.open新窗口被拦截的问题
1.鼠标进入容器方向的判定 判断鼠标从哪个方向进入元素容器是一个经常碰到的问题,如何来判断呢?首先想到的是:获取鼠标的位置,然后经过一大堆的if..else逻辑来确定.这样的做法比较繁琐,下面介绍两种 ...
- Eclipse出现"Running Android Lint has encountered a problem"解决方案
安装eclipse for android 时候的错误记录,转载自:http://blog.csdn.net/chenyufeng1991/article/details/47442555 (1)打开 ...
- Kotlin与Android SDK 集成(KAD 05)
作者:Antonio Leiva 时间:Dec 19, 2016 原文链接:https://antonioleiva.com/kotlin-integrations-android-sdk/ 使用Ko ...
- oracle常用函数及示例
学习oracle也有一段时间了,发现oracle中的函数好多,对于做后台的程序猿来说,大把大把的时间还要学习很多其他的新东西,再把这些函数也都记住是不太现实的,所以总结了一下oracle中的一些常用函 ...
- linux基础命令
系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS ...