理论常识:集线器只有连接作用。替代了同轴电缆。会有冲突域,这就使得网络内的计算机同一时间只能有一个机器使用该网络。因此机器不能太多。为了减少冲突域产生了网桥,网桥能减少冲突域(但冲突域仍然存在)。很多网桥结合起来就形成了交换机。交换机每个接口都是单独的不存在冲突域(每个接口(可能的冲突域)只有一台机器,怎么可能冲突)。交换机解决了冲突域的问题,但是新的问题产生了(因为网络中的任何一台机器发送信息前都要广播,寻找目标主机这就导致了广播风暴。交换机是无法隔离广播风暴的。当交换机连接的主机越多就会使得网络越发的难用)。因此路由器产生了,路由器利用逻辑地址--ip地址实现了数据的路由,并隔绝了网络风暴。
//下边是实操:
IPv4点分十进制:
0000 0000 - 1111 1111
0-255
例如:192.168.9.10
网络地址:192.168.9.0
主机地址:10
32位二进制
ip地址分类:
A类: 255.0.0.0, 8:
0 000 0001 - 0 111 1111
127个A类,127用于回环,1-126
2^7-1个A类
容纳多少个主机:2^24-2
主机位全0:网络地址
主机位全1:广播地址
B类:255.255.0.0, 16
10 00 0000- 10 11 1111
128-191
2^14个B类网
容纳多少个主机:2^16-2
C类:255.255.255.0, 24
110 0 0000 - 110 1 1111
192-223
2^21个C类网
容纳多个少个主机:2^8-2
私有地址:
A类:10.0.0.0/8
B类:172.16.0.0/16-172.31.0.0/16
C类:192.168.0.0/24-192.168.255.0/24
ip 发放机构:ICANN, IANA
主机接入网路需要配置:
IP
NETMASK
GATEWAY
HOSTNAME
DNS1
DNS2
DNS3
手动指定
DHCP:Dynamic Host Configuration Protocol
169.254. //169.254这个ip在dhcp服务不可用时自动随机获取的ip地址,只能在内网中使用的地址。
路由
//上边就是需要设置的网络内容。
Linux: 网络属于内核的功能。举例(当某台机器有多个网卡时,当只有一个网卡正常使用其他的都坏掉时,你ping这个机器上的任何一个网卡绑定的ip都是可以ping通的。)
//定义网卡别名的配置文件。
RHEL5: /etc/modprobe.conf
alias
//定义网卡别名的配置文件。
RHEL6: /etc/udev/rules.d/70-persistent-net.rules
ifconfig 命令: 以太网卡名称:ethX
ifconfig [ethX]
-a: 显示所有接口的配置住处
ifconfig ethX IP/MASK [up|down]
配置的地址立即生效,但重启网络服务或主机,都会失效;
网络服务:
RHEL5: /etc/init.d/network {start|stop|restart|status}
RHEL6: /etc/init.d/NetworkManager {start|stop|restart|status}
route 路由命令的使用:
网关:
route
add: 添加
-host: 主机路由
-net:网络路由
-net 0.0.0.0
route add -net|-host DEST gw NEXTHOP
route add default gw NEXTHOP
del:删除
-host
-net
route del -net 10.0.0.0/8
route del -net 0.0.0.0
route del default
所做出的改动重启网络服务或主机后失效;
查看:
route -n: 以数字方式显示各主机或端口等相关信息
//上边的命令对于网络的设置是临时的,重启系统或网络服务后,所有设置失效。因此下边进行永久生效的配置——配置文件
网络配置文件:在重启系统后才能读取的配置文件,重启网络服务是不会生效的。
/etc/sysconfig/network
ip配置的文件:
网络接口配置文件:
/etc/sysconfig/network-scripts/ifcfg-INTERFACE_NAME
DEVICE=: 关联的设备名称,要与文件名的后半部“INTERFACE_NAME”保持一致;
BOOTPROTO={static|none|dhcp|bootp}: 引导协议;要使用静态地址,使用static或none;dhcp表示使用DHCP服务器获取地址;
IPADDR=: IP地址
NETMASK=:子网掩码
GATEWAY=:设定默认网关;
ONBOOT=:开机时是否自动激活此网络接口;
HWADDR=: 硬件地址,要与硬件中的地址保持一致;可省;
USERCTL={yes|no}: 是否允许普通用户控制此接口;可省略
PEERDNS={yes|no}: 是否在BOOTPROTO为dhcp时接受由DHCP服务器指定的DNS地址;这个有意思,当你开启动态获取地址服务时该选项被设置为yes,dhcp服务器会修改你的dns配置文件。可以设置成no这样你会发现,你设置的dns配置文件就不会在变化了。可省略
路由配置文件:当然这些配置在centos或者红帽上是一样的。其他linux系统可能不尽相同
/etc/sysconfig/network-scripts/route-ethX
添加格式一:
DEST via NEXTHOP
添加格式二:
ADDRESS0=
NETMASK0=
GATEWAY0=
DNS服务器指定方法只有一种:最多可设置三条路由
/etc/resolv.conf
nameserver DNS_IP_1
nameserver DNS_IP_2
指定本地解析:使用本地域名解析功能。当然还有本地的域名解析服务器,这里没介绍。
/etc/hosts
主机IP 主机名 主机别名
172.16.0.1 www.magedu.com www
DNS-->/etc/hosts-->DNS
配置主机名:
hostname HOSTNAME
改名永久生效在:
/etc/sysconfig/network
HOSTNAME=
RHEL5:
setup: system-config-network-tui //红帽系统上配置网络的工具(字符界面下)
system-config-network-gui //这个是图形用户界面下
ip命令:使用选项简介,详细的使用方法请google查查
link: 网络接口属性
addr: 协议地址
route: 路由
link子命令使用
show
ip -s link show //显示所有网卡的使用情况
set
ip link set DEV {up|down}
addr子命令的使用
add
ip addr add ADDRESS dev DEV //添加ip
del
ip addr del ADDRESS dev DEV //删除ip
show
ip addr show dev DEV to PREFIX 查看某块网卡上所有前缀为 **的ip
flush
ip addr flush dev DEV to PREFIX //删除某块网卡上所有前缀为**的ip
一块网卡可以使用多个地址:
网络设备可以别名:
eth0
ethX:X, eth0:0, eth0:1, ...
配置方法:
ifconfig ethX:X IP/NETMASK up|down
/etc/sysconfig/network-scripts/ifcfg-ethX:X
DEVICE=ethX:X
非主要地址不能使用DHCP动态获取;
//
查ip : ip ad 或者 ifconfig
查路由: route -n
临时设置ip和路由:
ifconfig eth0:1 10.8.0.1 netmask 255.0.0.0 up
ifconfig eth0:1 10.8.0.1 netmask 255.0.0.0 down
route del default
route add default gw 10.8.0.1
route add -net 10.8.0.0 gw 10.8.0.1
route add -net|-host DEST gw NEXTHOP
route del -net 10.8.0.0
route del -net 10.8.0.0 netmask 255.255.255.0 gw 10.8.0.5
永久设置ip路由,多个网卡多个文件
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=10.25.244.55
NETMASK=255.255.252.0
//上边有格式,还有其他的格式。并且并不是所有的路由都这么设置。
vim /etc/sysconfig/network-scripts/route-eth0
10.0.0.0/8 via 10.25.247.247 dev eth0
100.64.0.0/10 via 10.25.247.247 dev eth0
172.16.0.0/12 via 10.25.247.247 dev eth0