一.Linux网络属性管理
1.将linux主机接入网络中
1)配置IP/NETMASK:实现本地通信
2)配置路由(网关):实现跨网络通信
3)配置DNS服务器地址:实现基于主机名的通信
1.主DNS服务器地址
2.备用DNS服务器地址
3.第三备份DNS服务器地址
2.配置方式
1.静态指定:
1)ifcfg家族:
1.ifconfig:配置IP,NETMASK
2.route:路由(网关)
3.netstat:状态及统计数据查看
2)iproute2家族:
1.ip object子命令:
1).addr:地址和掩码
2).link:接口
3).route:路由(网关)
2.ss命令:状态及统计数据查看
3)Centos7:nm(Network Manager)家族
1.nmcli:命令行工具
2.nmtui:text window工具
4)DNS配置
1.DNS服务器指定:/etc/resolv.conf
2.本地主机名配置:
1)命令:hostname(仅当前生效)
2)配置文件:/etc/sysconfig/network(永久生效)
ps:centos7配置本地主机名可使用hostnamectl
2.配置文件:RedHat及相关发行版:
/etc/sysconfig/network-scripts/ifcfg-网卡名
3.动态分配:依赖本地网络中有DHCP服务(Dynamic Host Configure Procotol)
1.本地主机接入后,通过广播向DHCP服务器发送请求,获得IP(有时限)
2.根据需求DHCP可以提供:IP,NETMASK,路由,DNS
3.网络接口命名方式
1.传统命名:
1.以太网:ethX[0,∞],,例如:eth0, eth1, ...
2.PPP网络:pppX, [0,∞], 例如,ppp0, ppp1, ...
2.预测命名方案(CentOS):
支持多种不同的命名机制:Fireware(固件),拓扑结构
1.如果Fireware或BIOS为主板上集成的设备提供的索引信息可用,则根据次索引进行命名,eno1, eno2, ...(o表示集成设备的设备索引号)
2.如果Firmware或BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命名,如ens1, ens2, ...
3. 如果硬件接口的物理位置信息可用,则根据此信息命名,如enp2s0, ...
4. 如果用户显式定义,也可根据MAC地址命名,例如enx122161ab2e10, ...
5. 如果上述军不可用,仍使用传统方式命名
3.命名格式的组成:
1.en:ethernet(以太网)
2.wl:wlan(无线局域网)
3.ww:wwan(无线广域网)
4.名称的类型:
1.o<index>:集成设备的设备索引号
2.s<slot>:扩展槽的索引号
3.x<MAC>:基于MAC地址的命名
4.p<bus>s<slot>:基于总线及槽的拓扑结构进行命名
二.数据传输实现
1.不同网络间数据传输
1.现需要将不同网络的A主机数据通过R1路由,R2路由传输至B主机:
1)A主机收到数据报文,首先对数据进行传输层守护封装(两主机进程端口封装),然后进行网络层封装(包含A主机IP及目标主机IP),然后进行以太网守护封装(MAC地址)。
2)将封装好的数据传输至R1路由1号接口MAC,R1路由发现目标MAC为本身,便会拆除MAC封装,发现源IP及目标IP与自己无关,便会重新封装R1路由2号接口MAC,传送至R2路由2号接口MAC
3)R2路由2号接口发现目标MAC为本身,便会拆除MAC封装,发现源IP及目标IP与自己无关,R2路由1号接口便会重新封装MAC,传送至B主机网卡MAC地址,数据报文送到。
2.本地网路数据传输
1.现需要将相同网络的A主机数据传输至B主机
1)A主机将传输层封装好,网络层封装好,MAC封装好,通过广播获取目标主机的MAC地址,传送至B主机,解封MAC地址封装,确认网络地址B为目标主机,然后通过进程端口进行传输数据。
2)ARP地址解析:通过网络地址广播来定位MAC地址。
3.tcp/ip
1.TCP/IP协议栈:物理层、互联网层、传输层、应用层
1)互联网层:IP
2)传输层:TCP, UDP
3)应用层:http, https, ftp, ldap, …
2.链接路层:封装以太网帧
1)以太网帧:MTU(1500)网络传输最大单元
3.互联网层:封装IP报文
二.ifcfg家族
1.ifconfig命令
1.ifconfig命令:用于接口及地址查看和管理,
2.ifconfig [interface]
1)显示当前接口
[root@kasumi ~]# ifconfig
ens33: flags=4163<UP(网卡确认启用),BROADCAST(广播功能),RUNNING(处于运行中),MULTICAST(多播功能)> mtu 1500(网卡最大传输单元)
inet 192.168.3.128 netmask 255.255.255.0 broadcast 192.168.3.255
inet6 fe80::46bc:7aa4:7fdb:65fb prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:fa:98:4b txqueuelen 1000(传输队列长度) (Ethernet)
RX(接收) packets(接收到的报文数量) 1008 bytes 96736 (94.4 KiB)
RX errors(接收错误个数) 0 dropped(丢包数量) 0 overruns(溢出) 0 frame(帧) 0
TX(传出) packets 810 bytes 93034 (90.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens37: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.3.130 netmask 255.255.255.0 broadcast 192.168.3.255
inet6 fe80::e2d6:f11f:5d9d:9630 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:fa:98:55(以太网地址) txqueuelen 1000 (Ethernet)
RX packets 58 bytes 7512 (7.3 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 31 bytes 4743 (4.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1 (Local Loopback)
RX packets 12 bytes 1404 (1.3 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 12 bytes 1404 (1.3 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
2)ifconfig -a:显示所有接口 ,包括inactive(非激活状态)的接口
ps:网络中,主机位为1的是广播地址,主机位为0的是网络地址
3.ifconfig interface [aftype] options | address ...:设置IP地址
1)ifconfig IFACE IP/MASK [up|down]
设置IP并开启网卡
[root@kasumi ~]# ifconfig ens37 192.138.3.151/24 up
[root@kasumi ~]# ifconfig ens37
ens37: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.138.3.151 netmask 255.255.255.0 broadcast 192.138.3.255
inet6 fe80::e2d6:f11f:5d9d:9630 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:fa:98:55 txqueuelen 1000 (Ethernet)
RX packets 66 bytes 8600 (8.3 KiB