网络管理-第二篇
IP地址
IP地址
它们可唯一标识 IP 网络中的每台设备
每台主机(计算机、网络设备、外围设备)必须具有唯一的地址
IP地址由两部分组成:
网络ID:
标识网络
每个网段分配一个网络ID
主机 ID:
标识单个主机
由组织分配给各设备
MAC地址没有管理性
IP地址可管理性标识性高
子网掩码标识网络ID和主机ID
地址分类
二进制
A类地址:前八位是网络ID
1-126.x.x.x
一个A类网络主机数1600万
网段公式:
网段数=2^可变网络ID位数
一个网络的主机数量=2^主机ID位数-2
B类地址:16位网络ID,16位主机地址
128-192.x.x.x
10xxxxxx.xxxxxxxx.y.z
主机数65534
C类地址:24位网络ID,8位主机ID
192-223.x.x.x
110xxxxx.xxxxxxxx.xxxxxxxx.x
主机数:2^8-2=253
D类地址:多播
224-239.x.x.x
E类地址:保留
240-255
无类:网络ID,主机ID不确定
CIDR 无类域间路由
子网掩码(netmask):32位二进制数,以十进制显示
一个IP对应一个netmask,网络ID位数,netmask对应为1,主机位ID位数,netmask为0
A类掩码:255.0.0.0
B类掩码:255.255.0.0
C类掩码:255.255.255.0
D类和E类为特殊,没有掩码
共有IP地址
私有IP地址
子网划分:将一个大网络(主机多=主机ID位数,网络ID位数少)划分成多个小网络(主机少=主机ID位数,网络ID位数多),网络ID位向主机ID位借N位,划分成2^N个小网
公式
划分子网数=划分成2^N个(网络ID位向主机ID位借N位)
00000000 0
10000000 128
11000000 192
11100000 224
11110000 240
11111000 248
11111100 252
11111110 254
11111111 255
子网掩码和IP对位相与判断网络位
A:192.168.1.100/16
B:192.168.2.100/24
以上两个IP互qing,A能ping通B,A会以自己的掩码16位来判断两个IP,Bping不通A,B会以自己的掩码24位来判断两个IP
单臂路由:通过路由器的配置,使同一交换机的两个VLAN互联互通
网络聚合
合并超网:多个小网合并成一个大网,主机ID位向网络ID位借位
公有地址:国际分配
私有地址:自己使用
特殊地址
0.0.0.0
0.0.0.0不是一个真正意义上的IP地址。它表示一个集合:所有不清楚的主机和目的网络。
255.255.255.255
限制广播地址。对本机来说,这个地址指本网段内(同一广播域)的所有主机
127.0.0.1~127.255.255.254
本机回环地址,主要用于测试。在传输介质上永远不应该出现目的地址为“127.0.0.1”的 数据包。
224.0.0.0到239.255.255.255
组播地址,224.0.0.1特指所有主机,224.0.0.2特指所有路由器。224.0.0.5指OSPF 路由器,地址多用于一些特定的程序以及多媒体程序
169.254.x.x
如果Windows主机使用了DHCP自动分配IP地址,而又无法从DHCP服务器获取地址,系统会为主机分配这样地址。
跨网络通信:路由
路由分类:
主机路由
主机路径
网络路由
主机网段路径
默认路由
0.0.0.0
优先级:精度越高,优先级越高
路由表构成:
1目标:数据包发送的目标路径
2子网掩码netmask
3接口interface:本路由器的出口
4网关gateway
1)直连:不需要配置
2)非直连:下一个路由器邻近本路由器的接口地址,下一跳
网卡配置添加网关是为了添加默认路由
A—1 R1 2 —3 R2 4— 5 R3 6 — B
firefox http://www.magedu.com
0 dns
1 A判断B和A是否在一个网段
2 A gateway:R1 IP1
ARP IP1 —> MAC1
APR cache : IP1–MAC1
frame:dest mac:mac1 src mac:macA
ip: dest ip:IPB src ip: IPA
tcp:dest port:80 src port:xxxxx,syn
3 R1 查路由表
net B 2 IP3
ARP IP3 —> mac3
frame:dest mac:mac3 src mac:mac2
ip: dest ip:IPB src ip: IPA
tcp:dest port:80 src port:xxxxx,syn
4 R2 查路由表
net B 4 IP5
ARP IP5 —> mac5
frame:dest mac:mac5 src mac:mac4
ip: dest ip:IPB src ip: IPA
tcp:dest port:80 src port:xxxxx,syn
5 R3 查路由表
net B 6
ARP IPB —> macB
frame:dest mac:macB src mac:mac6
ip: dest ip:IPB src ip: IPA
tcp:dest port:80 src port:xxxxx,syn
基本网络配置
将Linux主机接入到网络,需要配置网络相关设置。
一般包括如下内容:
主机名
IP/netmask
路由:默认网关
DNS服务器
主DNS服务器
次DNS服务器
第三DNS服务器
Linux中主机名只具有本地意义;在Windows中计算机名具有网络功能
tcpdump 抓包工具
CentOS 6网卡名称
接口命名方式:CentOS 6
以太网:eth[0,1,2,…]
ppp:ppp[0,1,2,…]
网络接口识别并命名相关的udev配置文件:
/etc/udev/rules.d/70-persistent-net.rules
查看网卡:
dmesg |grep –i eth
ethtool -i eth0
卸载网卡驱动:
modprobe -r e1000
rmmod e1000
装载网卡驱动:
modprobe e1000
网络配置方式
静态指定:
ifconfig, route, netstat
ip: object {link, addr, route}
ip link:查看网卡状态(物理状态)
ss:查看 ssh连接的ip
tc
ifconfig [网卡名] down/up 禁用/启用网卡
ifdown:禁用网卡
ifup:启用网卡
以上两个命令局限于配置文件
system-config-network-tui,setup
配置文件
动态分配:
DHCP: Dynamic Host Configuration Protocol
route命令
路由管理命令
route -n 查看
route add 添加
route del 删除
route add [-net网络|-host仅主机] target [netmask Nm] [gw Gw] [[dev] If]
目标:192.168.1.3 网关:172.16.0.1
route add -host 192.168.1.3 gw 172.16.0.1 dev eth0
目标:192.168.0.0 网关:172.16.0.1
route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 dev eth0
route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0
网卡配置文件:/etc/sysconfig/network-scripts/ifcfg-ethx(centos6)
DEVICE=ethx
BOOTPROTO=static/dhcp/none
IPADDR=ip
NETMASK=255.255.255.0/PREFIX=24
GATEWAY=网关
DNS1=
DNS2=
DNS3=
修改mac地址:配置文件中HWADDR=改成MACADDR=(适用场景:网络配置绑定mac地址,访问网络时)
centos6要关闭NetworkManager新加网卡配置才能生效
service NetworkManager stop
chkconfig NetworkManager off
echo 1 > /proc/sys/net/ipv4/ip_forward 开启系统上的路由转发功能,否则目的不是本机的包则丢弃
traceroute [ip] 跟踪路由
mtr [ip] 动态跟踪路由
tracepath [ip] 跟踪路由
netstat 等同于ss命令:查看进程端口
网络接口配置-bonding
Bonding
将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。直接给两块网卡设置同一IP地址是不可以的。通过bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址
Bonding工作模式
Mode 0 (balance-rr)轮询策略,提供负载均衡和容错的能力
Mode 1 (active-backup)主备策略,热备份
Mode 3 (broadcast)广播策略,提供容错能力
Bonding配置
创建bonding设备的配置文件
/etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
BOOTPROTO=none
BONDING_OPTS= “miimon=100 mode=0” #miimon链路检测
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no
查看bond0状态:/proc/net/bonding/bond0
bonding删除
ifconfig bond0 down
rmmod bonding
网卡名称
基于BIOS支持启用biosdevname软件
内置网卡:em1,em2
pci卡:pYpX Y:slot ,X:port
(2) 名称组成格式
en: Ethernet 有线局域网
wl: wlan 无线局域网
ww: wwan无线广域网
名称类型:
o<index>: 集成设备的设备索引号
s<slot>: 扩展槽的索引号
x<MAC>: 基于MAC地址的命名
p<bus>s<slot>: enp2s1
使用传统命名方式:
(1) 编辑/etc/default/grub配置文件
GRUB_CMDLINE_LINUX=”rhgb quiet net.ifnames=0″或:修改/boot/grub2/grub.cfg
(2) 为grub2生成其配置文件
grub2-mkconfig -o /etc/grub2.cfg
(3) 重启系统
NetworkManager图像化网卡配置服务
nmcli:地址配置工具(RHCE重点)
nmcli connection show:查看网卡详细配置列表
nmcli可配置bonding
teaming相当于bonding:网络组,是将多个网卡聚合在一起方法,从而实现冗错和提高吞吐量
使用nmcli配置网络
显示网络接口属性
nmcli dev show eth0
创建新连接default,IP自动通过dhcp获取
nmcli con add con-name default type Ethernet ifname eth0
删除连接
nmcli con del default
创建新连接static ,指定静态IP,不自动连接
nmcti con add con-name static ifname eth0 autoconnect no typeEthernet ipv4.addresses 172.25.X.10/24 ipv4.gateway 172.25.X.254
启用static连接配置
nmcli con up static
启用default连接配置
nmcli con up default
查看帮助
nmcli con add help
nmcli相关命令
修改连接配置后,需要重新加载配置
nmcli con reload
nmcli con down “system eth0” 可被自动**
nmcli con up “system eth0”
nmcli dev dis eth0 禁用网卡,访止被自动**
图形工具
nm-connection-editor
字符工具
nmtui
nmtui-connect
nmtui-edit
nmtui-hostname
网络组不同于旧版中bonding技术,提供更好的性能和扩展性
网络组由内核驱动和teamd守护进程实现
多种方式runner
broadcast:相当于bonding的mode3广播策略
roundrobin:相当于bondingmode0轮询策略
activebackup相当于bonding的mode1主备策略
loadbalance:负载均衡策略
lacp (implements the 802.3ad Link Aggregation Control Protocol)
网络组规则
启动网络组接口不会自动启动网络组中的port接口
启动网络组接口中的port接口总会自动启动网络组接口
禁用网络组接口会自动禁用网络组中的port接口
没有port接口的网络组接口可以启动静态IP连接
启用DHCP连接时,没有port接口的网络组会等待port接口的加入
创建网络组
nmcli con add type team con-name [team名] ifname [team名] config ‘{“runner”: {“name”: “模式”}}’
配置网络组ip
nmcli con mod team0 ipv4.addresses 192.168.1.100/24 ipv4.method manual
添加网卡
nmcli con add type team-slave con-name 连接别名 ifname 网络接口名 master 网络组名
启动网络组
nmcli con up team0
nmcli con up team0-eth1
nmcli con up team0-eth2
teamdctl team0 state; nmcli dev dis eth1(eth1不连接)
删除网络组
nmcli connection down team0
teamdctl team0 state
nmcli connection show
nmcli connectioni delete team0-eth0
nmcli connectioni delete team0-eth1
nmcli connection show
网桥
桥接:把一台机器上的若干个网络接口“连接”起来。其结果是,其中一个网口收到的报文会被复制给其他网口并发送出去。以使得网口之间的报文能够互相转发。网桥就是这样一个设备,它有若干个网口,并且这些网口是桥接起来的。与网桥相连的主机就能通过交换机的报文转发而互相通信。
查看网桥
cat /etc/sysconfig/network-scripts/ifcfg-br0
cat /etc/sysconfig/network-scripts/ifcfg-br0-port0
brctl show
hostname显示主机名
ping测试网络连通性
mtr同上
ip route 显示正确的路由表
wget [option]… [URL]…
-q: 静默模式
-c: 断点续传
-P:保存在指定目录
-O: 保存为指定的文件名
–limit-rate=: 指定传输速率,单位K,M等
links:字符界面访问网页
–dump:只看文字
–source:查看源代码