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:查看源代码
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/97429