分类目录归档:Linux网络管理

一、网络基础

TCPIP model and the corresponding of the OSI modelNetwork based

一、ISO/OSI七层模型
The OSI seven layer model

The OSI seven layers of the framework

二、TCP/IP四层模型
TCPIP four layers model

TCPIP model and the corresponding of the OSI model

网络接口层
#网络接入层与OSI参考模型中的物理层和数据链路层相对应。它负责监视数据在主机和网络之间的交换。事实上,TCP/IP本身并未定义该层的协议,而由参与互连的各网络使用自己的物理层和数据链路层协议,然后与TCP/IP的网络接入层进行连接。地址解析协议(ARP)工作在些层,即OSI参考模型的数据链路层。

网际互联层
#网际互联层对应于OSI参考模型的网络层,主要解决主机到主机的通信问题。它所包含的协议设计数据包在整个网络上的逻辑传输。该层有三个主要协议:网际协议(IP)、互联网组管理协议(IGMP)和互联网控制报文协议(ICMP)

传输层
#传输层对应于OSI参考模型的传输层,为应用层实体提供端到端的通信功能,保证了数据包的顺序传送及数据的完整性。该层定义了两个主要的协议:传输控制协议(TCP)和用户数据报协议(UDP)。
TCPIP three-way handshake

应用层
#应用层对应于OSI参考模型的高层,为用户提供所需要的各种服务,例如:FTP、Telnet、DNS、SMTP等。
Data encapsulation process

TCP/IP模型与OSI模型的比较
共同点:
(1)OSI参考模型和TCP/IP参考模型都采用了层次结构的概念
(2)都能够提供面向连接和无连接两种通信服务机制
不同点:
(1)前者是七层模型,后者是四层结构
(2)对可靠性要求不同(后者更高)
(3)OSI模型是在协议开发前设计的,具有通用性。TCP/IP是先有协议集然后建立模型,不适用于非TCP/IP网络。

三、IP地址
The IP header
The IP address
IP address classification

四、子网掩码
子网掩码的使用
The use of the subnet mask_1
The use of the subnet mask_2
The use of the subnet mask_3

Variable-length subnet mask and subnet planning

五、端口作用
TCP protocol in baotou

UDP protocol in baotou

Common port

查看本机启用的端口
netstat -an
选项:
— -a:查看所有连接和监听端口
— -n:显示IP地址和端口号,而不显示域名和服务名

六、DNS作用
#在互联网中,通过IP地址来进行通信
#IP地址用数字表示,记忆起来太困难了(如116.213.120.232)
#人对域名更加敏感,如:http://wwww.imooc.com/

hosts文件
# C:\Windows\System32\drivers\etc\hosts
— 127.0.0.1 localhost

从Hosts文件到DNS
早期Hosts文件解析域名
#名称解析效能下降
#主机维护困难
DNS服务
#层次性
#分布式

DNS服务的作用
将域名解析为IP地址
#客户机向DNS服务器发送域名查询请求
#DNS服务器告知客户机Web服务器的IP地址
#客户机与Web服务器通信

The domain name space structure

DNS查询类型
(1)从查询方式上分
递归查询
#要么做出查询成功响应,要么作出查询失败的响应。一般客户机和服务器之间属递归查询,即当客户机向DNS服务器发出请求后,若DNS服务器本身不能解析,则会向另外的DNS服务器发出查询请求,得到结果后转交给客户机。
迭代查询
#服务器收到一次迭代查询回复一次结果,这个结果不一定是目标IP与域名的映射关系,也可以是其它DNS服务器的地址。
(2)从查询内容上分
正向查询由域名查找IP地址
反向查询由IP地址查找域名

七、网关作用
1、网关(Gateway)又称网间连接器、协议转换器。
2、网关在网络层以上实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。
3、网关既可以用于广域网互连,也可以用于局域网互连。
4、网关是一种充当转换重任的服务器或路由器。

二、Linux网络管理

一、Linux配置IP地址
1、ifconfig命令临时配置IP地址
ifconfig命令:查看与配置网络状态命令

例:
— [root@localhost ~]# ifconfig eth0 192.168.0.200 netmask 255.255.255.0
#临时设置eth0网卡的IP地址与子网掩码

2、setup工具永久配置IP地址
红帽(redhat)专有图形化工具setup设置IP地址
注:有些redhat产品没有安装setup工具需另外安装
安装setuptool
— [root@locallhost ~]# yum install setuptool
安装防火墙设置
— [root@locallhost ~]# yum install system-config-securitylevel-tui
安装网络设置
— [root@locallhost ~]# yum install system-config-network-tui
安装系统服务管理
— [root@locallhost ~]# yum install ntsysv

二、Linux网络配置文件
1、网卡信息文件
— [root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
— DEVICE=eth0 网卡设备名
— BOOTPROTO=none 是否自动获取IP(none、static、dhcp)
— HWADDR=00:0c:29:17:c4:09 MAC地址
— NM_CONTROLLED=yes 是否可以同Network Manager图形管理工具托管
— ONBOOT=yes 是否随网络服务启动,eth0生效
— TYPE=Ethernet 类型为以太网
— UUID=”44b76c8a-b59f-44d5-83fa-7f98fda86b3d” 唯一识别码
— IPADDR=192.168.0.252 ip地址
— NETMASK=255.255.255.0 子网掩码
— GATEWAY=192.168.0.1 网关
— DNS1=202.106.0.20 DNS
— IPV6INIT=no IPv6没有启用
— USERCTL=no 不允许非root用户控制该网卡

2、主机名文件
— [root@localhost ~]# 主机名文件
— NETWORKING=yes
— HOSTNAME=localhost.localdomain

— [root@localhost ~]# hostname [主机名]
#查看与临时设置主机名命令

3、DNS配置文件
— [root@localhost ~]# vi /etc/resolv.conf
— nameserver 202.106.0.20
— search localhost

三、虚拟机网络参数配置
1、配置Linux IP地址
2、启动网卡
— [root@localhost ~]#vi /etc/sysconfig/network-scripts/ifcfg-eth0
— 把 ONBOOT=no
— 改为 ONBOOT=yes
— [root@localhost ~]# service network restart
#重启网络服务

3、修改UUID
1)vi /etc/sysconfig/network-scripts/ifcfg-eth0
#删除MAC地址行
2)rm -rf /etc/udev/rules.d/70-persistent-net.rules
#删除网卡和MAC地址绑定文件
3)重启动系统

4、设置虚拟机网络连接方式

三、Linux网络命令

一、网络环境查看命令
1、ifconfig命令
ifconfig命令:查看与配置网络状态命令

2、关闭与启动网卡
ifdown 网卡设备名
#禁用该网卡设备

ifup 网卡设备名
#启用该网卡设备

3、查询网络状态
netstat 选项
选项:
— -t:列出TCP协议端口
— -u:列出UDP协议端口
— -n:不使用域名与服务名,而使用IP地址和端口号
— -l:仅列出在监听状态网络服务
— -a:列出所有的网络连接

netstat -rn
选项:
— -r:列出路由列表,功能和route命令一致

4、route命令
route -n
#查看路由列表(可以看到网关)

route add default gw 192.168.1.1
#临时设定网关

5、域名解析命令
nslookup [主机名或IP]
#进行域名与IP地址解析

注:CentOS 6.x 已经没有nslookup这个工具安装方法

— [root@localhost ~]# nslookup
— > server
#查看本机DNS服务器

二、网络测试命令
1、ping命令
ping [选项] ip或域名
#探测指定IP或域名的网络状况
选项:
— -c 次数:指定ping包的次数

2、telnet命令
telnet [域名或IP] [端口]
#远程管理与端口探测命令

— telnet 192.168.1.119 80

3、traceroute
traceroute [选项] IP或域名
#路由跟踪命令
选项
— -n 使用IP,不使用域名,速度更快

4、wget命令
wget http://soft.vpser.net/lnmp/lnmp1.1-full.tar.gz
#下载命令

5、tcpdump命令
tcpdump -i eth0 -nnX port 21
选项:
— -i:指定网卡接口
— -nn:将数据包中的域名与服务转为IP和端口
— -X:以十六进制和ASCII码显示数据包内容
— port:指定监听的端口

四、远程登录工具

一、SSH协议原理
1、对称加密算法
采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。
Symmetric encryption algorithm

2、非对称加密算法
非对称加密算法(asymmetric cryptographic algorithm)又名“公开密钥加密算法”,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。
Asymmetric encryption algorithm

SSH secure shell protocol

3、SSH命令
ssh 用户名@ip
#远程管理指定Linux服务器

scp [-r] 用户名@ip:文件路径 本地路径
#下载文件

scp [-r] 本地文件 用户名@ip:上传路径
#上传文件

二、SecureCRT远程管理工具

三、Xshell工具和WinSCP文件传输工具

CentOS 6.x 安裝 nslookup 的步驟 (與 yum 如何查詢套件)

在Linode VPS佈署的 CentOS 6.x 已經沒有 nslookup 這個工具程式了!!

以下將藉由安裝 nslookup 的同時,順便也復習一下 yum 的查詢套件功能…

安裝步驟

1. 執行 nslookup,系統回應「沒有這個指令」:

$ nslookup
-bash: nslookup: command not found

2. 直覺地用 yum 安裝 nslookup,結果跟你說「套件不存在」:

$ yum install nslookup
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.kernel.org
 * elrepo: ftp.osuosl.org
 * epel: mirrors.kernel.org
 * extras: mirrors.kernel.org
 * rpmforge: mirror.hmc.edu
 * updates: mirrors.kernel.org
Setting up Install Process
No package nslookup available.
Error: Nothing to do

3. 我們可以加 provides 參數查詢 nslookup 存在哪個套件中:

$ yum provides nslookup
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.linode.com
* epel: mirror.prgmr.com
* extras: mirrors.linode.com
* rpmforge: mirror.hmc.edu
* updates: mirrors.linode.com
Warning: 3.0.x versions of yum would erroneously match against filenames.
You can use "*/nslookup" and/or "*bin/nslookup" to get that behaviour
No Matches found

4. 雖然第一時間也是查不到,不過在上面遺留的訊息中, yum 有進一步顯示說檔案可能藏在 bin 目錄中。我們依樣畫葫蘆:

$ yum provides *bin/nslookup
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.linode.com
* epel: mirror.prgmr.com
* extras: mirrors.linode.com
* rpmforge: mirror.hmc.edu
* updates: mirrors.linode.com
32:bind-utils-9.8.2-0.17.rc1.el6_4.6.x86_64 : Utilities for querying DNS name
                                            : servers
Repo        : base
Matched from:
Filename    : /usr/bin/nslookup

皇天不復苦心人,原來是藏在 bind-utils 套件中。

5. 事不宜遲,咱們快點安裝吧:

$ yum install bind-utils

PS. 連帶的 dighost 也存在於 bind-utils 套件裡