ninic

导航

linux网络学习

一、OSI七层模型
(1)真正传输数据的层
物理层(比特)
数据链路层(帧:真正存储网络的mac地址,dos命令下可通过ifconfig /all来查询。mac地址主要用于局域网(内网)通信的)
网络层(报文:真正存储IP地址的,主要用于外网(公网)通信;现则经过什么样的路径把数据传输给对方)
传输层(TPDU:确定传输协议(TCP:可靠;UDP:不可靠)是否是可靠的;流量控制;错误检测;确定端口号)
(2)为用户提供服务的
会话层:确定网络数据要经过远程会话
表示层:数据的表现形式(解码:中文(GB2312));加密;压缩
应用层:为用户提供服务
物理层负责传输的,其他层负责提供信息的,发送从上到下,接收从下到上

二、TCP/IP四层模型
应用层:
传输层:(TCP协议:可靠的,面向连接的;(三次握手:)UDP协议:更快,但有可能会丢失数据)
网际互连层:(网络层)IP、IGMP、ICMP协议
网络接口层:(物理层、数据链路层)

注:
1.arp -a:把ip翻译为网卡的物理地址(同一局域网段传输数据用的是mac地址;不同网段用的是ip地址)
2.交换机只能识别mac地址

三、IP地址详解
IP地址最大的表示范围:0.0.0.0-255.255.255.255
A类:1.0.0.0--126.255.255.255(第一个数变化代表不在一个网段,网络数有126个,最大主机数2^24-2;同一个网段不需要路由器,只需要交换机就可以通信)10.0.0.0--10.255.255.255
B类:128.0.0.0--191.255.255.255(前两个数代表一个网段,后两个数代表不同的主机;主机数2^16-2)172.16.0.0--172.31.255.255
C类:192.0.0.0--223.255.255.255(前三个数代表一个网段,后面一个数代表不同的主机;主机数2^8-1)192.168.0.0--192.168.255.255
注:私网IP不能直接访问公网IP,只有通过转换才能访问

四、子网掩码(Subnet Mask):用来确定IP地址中哪一个数变化代表不同的网段,哪一个数变化代表同一网段中的不同主机;
标准:255.0.0.0 255.255.0.0 255.255.255.0
IP和子网掩码必须同时使用
A类IP子网掩码:255.0.0.0(跟255匹配的是不同的网段,跟0匹配的是同一网络不通的主机)例:IPAddress:10.1.1.200 Subnet Mask:255.0.0.0 NetWorkID:10.0.0.0
B类IP子网掩码:255.255.0.0例:IPAddress:172.16.1.200 Subnet Mask:255.255.0.0 NetWorkID:172.168.0.0
C类IP子网掩码:255.255.255.0例:IPAddress:192.168.1.200 Subnet Mask:255.255.255.0 NetWorkID:172.168.0.0

网络地址是IP地址与子网掩码相与
广播地址:先看子网掩码0位有多少位,有多少位就把子网掩码0位对应的IP地址位数换算成1,这个值就是网络地址;

五、端口作用
常见端口号(不管是TCP还是UDP都不区分,唯一):
FTP:20、21
SSH:22
telnet:23(及其不安全,能不用最好不用)
DNS:53
http:80
SMTP:25 (发信)
POP3:110(收信)
注:查看本机启用的端口:netstat -an

六:DNS作用
不配置DNS是不能访问互联网的
配置文件hosts是做静态IP和域名对应;
如果你在配置文件里配置了公网域名的ip,就会优先找这个ip,不会找域名真正对应的ip。

七、网关作用
交换机:只识别mac地址,不识别IP地址;用于同一局域网内
路由器:当两台主机来自不同网段,就需要通过路由器传输
网关相当于一个门卫
(1)如果主机发给同一个网段的另一个主机,直接通过交换机;如果主机发给其他网段的主机,则需要通过网关才能发送
(2)如果相同的内网ip,这时外网访问内网需要经过网关(把内网(公网)ip翻译成真正的公网(内网)ip,将数据传输给交换机,再交给目标主机)

网关还有他自己的下一级网关。

八、linux网络配置
1.配置IP地址
1)ifcfg命令临时配置IP地址
ifconfig eth0 192.168.1.112 netmask 255.255.255.0(不提倡)
2)setup工具永久配置IP地址(RedHAT公司专有系列)
>setup

3)修改网络配置文件
4)图形界面配置IP地址
注:如果有人在局域网内搭建了DHCP服务器,可选择自动获取IP地址
2.linux网络配置文件
1)网卡信息文件
vi /etc/sysconfig/network-scripts/ifcfg-eth0
linux严重区分大小写
DIVICE=eth0 网卡设备名(与文件名相同)
BOOTPORT=none 是否自动获取IP(none、static、dhcp:自动获取IP,下面的除了标蓝色的以外其他都不需要配置了)
HWADDR=00:0c:29:17:c4:09 mac地址
NM_CONTROLLED=yes 是否可以有Network Manager图形管理工具托管(只有安装了图形界面才有作用)
ONBOOT=yes 是否随网络服务启动,eth0生效;默认是no(如果使用setup配置网卡信息,完了之后必须在配置文件里将onboot改为yes,要不ifconfig是看不到这块信息的)
TYPE=Etheret 类型为以太网
UUID="dafdfaf-46bg-aset-3453dfsf" 唯一识别码(如果将一个系统复制到另一台计算机上,需要更改,要不无法联网)
IPADDR= IP地址
NETMASK= 子网掩码
GATEWAY= 网关
DNS1= DNS
IPV6NIT=no IPV6没有启动
USERCTL=no 不允许非root用户控制此网卡
2)主机名文件
vi /etc/sysconfig/network

NETWORKING=yes
HOSTNAME=localhost.localadmin(在windows下,如果在同一个局域网内,如果计算机的主机名相同,计算机之间不能数据传输,一般不能有相同主机名;修改了主机名需要执行:hostname 主机名)
3)DNS配置文件
vi /etc/resolv.conf

nameserver 名称服务器
serach localhost(如果域名没有打全,回车后尝试会将localhost拼接在你没打全的域名里)
3.虚拟机网络参数配置
1)配置IP地址 利用setup
2)启动网卡
将ifcfg-eth0中的onboot=no改为onboot=yes
service network restart(注:如果此命令运行后,利用ifconfg查看配置,还是不合适的话,可能就是主机地址跟虚拟机地址重复
3)修改UUID
如果手动安装的不需要改,如果是通过克隆出来的需要修改
a.删除mac地址
b.删除网卡和MAC地址绑定文件 rm -rf /etc/udev/rules.d/70-persistent-net.rules
c.重新启动系统
4)设置虚拟机网络连接方式
网络连接
桥接(指的是你的虚拟机和你的真实机之间进行通信使用真实网卡进行通信;使用桥接只需要虚拟机和真实机配置相同的网络就可连接;需要占用真实网段中的一个ip地址)
NAT(虚拟机和真实机之间通信使用的是VMnet8虚拟网卡;虚拟机只能和自己的真实机进行通信,不能连接到局域网内的其他机器)
Hostonly(虚拟机和真实机之间通信使用的是VMnet1虚拟网卡;虚拟机只能和自己的真实机进行通信,不能连接到局域网内的其他机器)
注:如果选用的是NAT,虚拟机可以利用真实机的网卡进行上网,他虽然不能跟其他局域网内的真实机进行通信,但能访问外网
HOSTONlY只能跟真实机通信
5)修改桥接网卡
如果真实机有无线网络和有线网络两个网卡,那桥接哪个网卡呢
编辑-》虚拟网络编辑器-》已桥街到:(有限/无线)

九、linux网络命令
1.网络环境查看命令
1)ifconfig命令:查看与配置网络状态命令
2)ifdown+网卡设备名:关闭网卡
3)ifup+网卡设备名:启动网卡
4)netstat选项:查询网络状态
-t:列出TCP协议端口
-u:列出UDP协议端口
-n:不使用域名或服务名,而是用IP或端口
-l:查看监听状态的
-a:查看所有
例:netstat -tuln;netstat -an; netstat -an | grep ESTABLISHED(看看有哪些是建立连接的);netstat -an |grep ESTABLISHED | wc -l (统计有多少个是建立连接的);natstat -rn=route -n 用来显示路由列表的(查看网关)
5)域名解析命令
nslookup+域名 查看域名对应ip
注:1)linux支持远程连接数目255个;windows server 2008 默认连接4个,以前默认连接2个
2)网关配置:如果有两个网卡eth0和eth1,eth0配置内网,eth1配置外网,如果eth0访问局域网,就可直接通过交换机,如果通过eth0连接到内网某台客户机,通过客户机访问外网,客户机会返回主机找网关,然后通过外网配置访问外网;所以网关设置只能给外网网卡设置,一般只设置一个。

 


2.网络测试命令
1)ping命令
ping+ip/域名 看要访问的网络是否能通
ping+ip -c 3 ping3条
2)telnet命令(远程管理或端口测探)不安全
telnet+ip/域名+端口
例:telnet 192.168.0.252 80 测试我能不能连接到252这台机器上的80端口
3)traceroute路由跟宗命令
traceroute [选项] ip/域名
例:如果某天发现自己在家连不到公司网络,可通过此命令+公司ip查看,网络是卡在哪个节点上了;
4)wget命令
wget+文件网络地址 下载命令
5)tcpdump命令(抓包命令)
tcpdump -i eth0 -nnX port 21
-i:指定网卡接口
-nn:将数据包中的域名或服务转换为IP和端口
-X 以十六进制和ASCII码显示数据包
port 指定监听的端口
十、远程登录
1.ssh协议原理
1)对称加密算法:加密和解密使用的是同样的密码,不安全
2)非对称加密算法:发送方和接收方加密过程中都会生成公钥(对外公开、锁)和私钥(自己知道、钥匙),如果发送方要发送文件,则需要要到接收方的公钥,发送方用自己的公钥和对方的公钥加密这个文件,接收方收到后只要用自己的私钥就可以解开。
windows加密命令:pgp linux加密命令:gpg
2.ssh命令
ssh 用户名@IP 远程管理指定服务器
scp -r 用户名@IP:文件路径 本地路径 下载文件
scp -r 本地文件 用户名@IP:上传路径 上传文件

posted on 2018-05-11 11:50  ninic  阅读(274)  评论(0编辑  收藏  举报