文章目录
linux-开发与管理 P8 网络配置管理
网络基础
IP地址
简介
在网络中,IP地址是主机的唯一标识
IP地址由两部分:网络(network)地址和主机(host)地址;
网络地址由IP地址的高位组成,主机地址由低位组成,这两个部分的大小取决于网络的类型
IP地址根据网络地址的不同,主要分为A类、B类、C类、D类、E类
A类IP地址
一个A类IP地址由1字节网络地址和3字节主机地址组成,网络地址的最高位必须是“0”,地址范围从1.0.0.0到126.0.0.0;可用的A类网络有126个,每个网络能容纳1亿多个主机
B类IP地址
一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是“10”,地址范围从128.0.0.0到191.255.255.255;可用的B类网络有16382个,每个网络能容纳6万多个主机
C类IP地址
一个C类IP地址由3个字节的网络地址和1个字节的主机地址组成,网络地址的最高位必须是“110”,范围从192.0.0.0到223.255.255.255;C类网络可达209万余个,每个网络能容纳254个主机
D类IP地址
D类IP地址第一个字节以“1110”开始,它是一个专门保留的地址;它并不指向特定的网络,目前这一类地址被用在组播中。组播地址用来异常寻址一组计算机,它标识共享同一协议的一组计算机
E类IP地址
以“1110”开始,为将来使用保留
子网掩码
子网掩码(Subnet Mask)又叫网络掩码,一般构成是网络地址部分全是“1”,主机地址全是“0”
子网掩码的一个主要作用就是判别主机发送的数据包时向外网发送,还是向内网发送
A主机得到网络地址后,就拿得到网络地址和B所在网络地址做对比,如果网络地址相同,就说明B主机和A主机在同一个网络,数据包向内网发送;如果不相同,则向外网发送,即发送到网关
网关
网关(Gateway)又称网间连接器、协议转换器;网关主要用在传输层上以实现网络连接,是最复杂的网络互联设备,仅用于两个高层协议不同的网络互联。网关既可以用于广域网互联,也可以用于局域网互联。网关是一种充当转换重任的计算机系统或设备,在使用不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器
DNS服务器
DNS服务器是计算机域名系统(Domain Name System 或 Domain Name Service)的缩写,它是由解析器和域名服务器组成的;域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并且可将域名装换为IP地址功能的服务器。其中,域名必须对应一个IP地址,而IP地址不一定有域名。域名系统采用类似目录树的等级结构
Linux系统网络配置
ifconfig命令
ifconfig是GNU/Linux 中配置网卡的基本命令,包含在net-tools软件包中。它可用于显示或设置网卡的配置,如IP地址、子网掩码、最大分组传输数、I/O端口等,还可以启动或禁用网卡。
ifconfig [interface]
ifconfig interface [aftype] option address...
interface:配置对象
address:地址
1.修改etho的ip地址
sudo ifconfig eth0 ip地址
举个栗子
eth0 Link encap:Ethernet HWaddr 00:0c:29:45:da:a2
inet addr:192.168.43.203 Bcast:192.168.43.255 Mask:255.255.255.0
inet6 addr: 2409:8928:c08:7443:e95f:28dc:4d8e:56f4/64 Scope:Global
inet6 addr: 2409:8928:c08:7443:20c:29ff:fe45:daa2/64 Scope:Global
inet6 addr: fe80::20c:29ff:fe45:daa2/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:397 errors:0 dropped:0 overruns:0 frame:0
TX packets:465 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:59755 (59.7 KB) TX bytes:51301 (51.3 KB)
Interrupt:19 Base address:0x2000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:427 errors:0 dropped:0 overruns:0 frame:0
TX packets:427 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:31561 (31.5 KB) TX bytes:31561 (31.5 KB)
sudo表示临时获得超级用户权限
2.配置网卡的物理地址
ifconfig eth0 hw xx:xx:xx:xx:xx:xx
3.网卡设备的禁用和开启
sudo ifconfig eth0 down
sudo ifconfig eth0 up
举个栗子
使用down关闭了eth0的网关
使用up开启了eth0的网关
修改配置文件
要使配置永久有效,必须通过修改配置文件。无论是配置静态IP还是动态IP,Ubuntu系统都将配置信息存放在“/etc/network/interfaces”。在Ubuntu系统启动时就能获得IP地址的配置信息。若是配置静态IP,就从配置文件中读取IP地址参数,直接配置网络接口设备;如果配置动态IP,就通知主机通过DHCP协议获取网络配置。
动态配置
~ $ vi /etc/network/interfaces
#The loopback network interface
auto lo
iface lo inet loopback
#The primary network interface
auto eth0
iface eth0 inet dhcp
静态配置
~ $ vi /etc/network/interfaces
#The loopback network interface
auto lo
iface lo inet loopback
#The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
配置生效
修改完成配置后,配置的参数没有立即生效,需要手动生效
sudo /etc/init.d/networking restart
配置DNS服务器
DNS域名解析可以在更大范围的计算机网络提供域名到IP地址的转换。网络中的每台计算机都是一个DNS客户端,向DNS服务器提交域名解析的请求;DNS服务器完成域名到IP地址的映射。因此,DNS客户端至少有一个DNS服务器地址,作为命名解析的开端。
查询DNS服务的IP地址
nslookup 域名地址
举个栗子
添加DNS服务器地址
nameserver dns 服务器地址
Linux常用网络服务配置
Linux系统支持很多网络服务,比如通过NFS实现远程挂载,通过TFTP实现文件传输,通过SSH实现远程登录,通过SAMBA实现文件共享功能。
TFTP服务
TFTP(Troal File Transfer Protocol)是一种网络协议,主要用于文件的传输。在嵌入式交叉开发环境中被广泛使用。TFTP使用的是CS模式,客户端上传、下载不需要账户,FTP相比,实现起来比较简单。进行嵌入式交叉开发时,开发主机上先要安装TFTP服务器并进行正确的设置。
安装TFTP服务软件
可以先通过dpkg进行查看是否安装
dpkg -s tftpd-hpa
如果没有安装可以通过apt-get进行安装
sudo apt-get install tftpd-hpa
sudo apt-get install tftp-hpa
修改tftpd-hpa配置文件
cat /etc/default/tftpd-hpa
在根目录下创建tftpboot目录
sudo mkdir /tftpboot
重启tftpd-hpa服务
sudo service tftpd-hpa restart
查看是否有相应的进程
ps -ef|group in.tftp
使用tftp服务
1.在shell终端上输入tftp ip地址启动客户端程序
tftp ip地址
2.实现文件的下载和上传
put 文件名 //上传文件
get 文件名 //下载文件
quit //退出客户端程序
NFS服务
NFS(Network File System)即网络文件系统,是许多操作系统都支持的文件系统中的一种,也被称为NFS。NFS允许一个系统的网络上与他人共享目录和文件。通过使用NFS,用户可以像访问本地文件一样访问远端系统上的文件。
NFS的应用
(1)多个机器共享一台CDROM或者其他设备。这对于在多台机器中安装软件来说更加便宜和方便
(2)在大型网络中,配置一台中心NFS服务器用来放置所有用户的home目录,这可能会带来便利。
(3)在嵌入式交叉开发中,我们常常把“根文件”系统放在主机上,然后在开发板启动的时候通过NFS来挂载主机上的根文件系统。
NFS服务配置
1.安装NFS
sudo apt-get install nfs-kernel-server
2.配置NFS资源
<Share Directory> <Host1(args)> <Host2(args)> ...
NFS常用的参数
参数 | 描述 |
---|---|
ro | 只读访问 |
rw | 读写访问 |
sync | 所有数据在请求时写入共享 |
async | NFS在写入数据前可以相应请求 |
secure | NFS通过1024以下的安全TCP/IP端口发送 |
insecure | NFS通过1024以上的端口发送 |
wdelay | 如果多个用户要写入NFS目录,则归组写入 |
no_wdelay | 如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置 |
hide | 在NFS共享目录中不共享其子目录 |
no_hide | 共享NFS目录的子目录 |
subtree_check | 如果共享/usr/bin之类的子目录,强制NFS检查父目录的权限 |
no_subtree_check | 和上面相对,不检查父目录权限 |
all_squash | 共享文件的UID和GID映射匿名用户 |
no_all_squash | 保留共享文件的UID和GID |
root_squash | root用户的所有请求映射成如annoymous用户一样的权限 |
no_root_squash | root用户具有根据目录的完全管理访问权限 |
anonuid=xxx | 指定NFS服务器/etc/passwd文件中匿名用户的UID |
3.手动启动或停止NFS服务
启动
sudo /etc/init.d/nfs-kernel-server start
停止
sudo /etc/init.d/nfs-kernel-server stop
4.查看NFS服务当前状态
showmount [-dehv] NFSsrvname
5.挂载共享资源
mount -t nfs UbuntuFisher:/home/wdl/Share/nfs_1 /mnt/nfs_1
6.卸载共享资源
umount /mnt