一、网络基础概念之地址分类

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      
   64个B类,2^14个B类网      
   容纳多少个主机:2^16-2      
C类:255.255.255.0, 24      
   110 0 0000 - 110 1 1111      
   192-223      
   32个C类, 2^21个C类网      
   容纳多个少个主机:2^8-2

D类:11100000-11101111

          224-229  组播地址

ICANN管理分配公网地址

私有地址:      
   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

二、

Linux: 网络属于内核的功能


RHEL5: /etc/modprobe.conf      
alias别名对应设备

RHEL6: /etc/udev/rules.d/70-persistent-net.rules

查看网络连接配置信息    
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}  功能不完善 集群中不可用 最好禁用使用原5版本脚本

网关:      
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

网络接口配置文件:      
/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地址;

不会立即生效,但重启网络服务或主机都会生效;

路由:      
/etc/sysconfig/network-scripts/route-ethX      
添加格式一:   两种格式不可混用      
DEST    via     NEXTHOP   掩码使用/24形式

添加格式二:      
ADDRESS0=      
NETMASK0=      
GATEWAY0=


DNS服务器指定方法只有一种: 最多指定3个服务器  dhcp可自动修改此文件 如不想修改需在网络配置文件中加PEERDNS条目      
/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  仅可在图形化界面使用

iproute2

Iproute2是一个在Linux下的高级网络管理工具软件。实际上,它是通过rtnetlink sockets方式动态配置内核的一些小工具组成的,从Linux2.2内核开始,Alexey Kuznetsov 实现了通过rtnetlink sockets用来配置网络协议栈,它是一个现代的强大的接口。    
   ip      
       link: 网络接口属性      
       addr: 协议地址      
       route: 路由

   link      
       show      
           ip -s link show      
       set      
           ip link set DEV {up|down}      
           
   addr      
       add      
           ip addr add ADDRESS dev DEV      
       del      
           ip addr del ADDRESS dev DEV      
       show      
           ip addr show dev DEV to PREFIX      
       flush 清除      
           ip addr flush dev DEV to PREFIX      
       
       
一块网卡可以使用多个地址:      
网络设备可以别名:      
eth0      
   ethX:X, eth0:0, eth0:1, ...      
   
配置方法:      
   ifconfig ethX:X IP/NETMASK      
   
   /etc/sysconfig/network-scripts/ifcfg-ethX:X      
   DEVICE=ethX:X

   非主要地址(别名地址)不能使用DHCP动态获取;

ip      
   eth1, 添加个地址192.168.100.1      
   
ip addr add 192.168.100.1/24 dev eth1 label eth1:0      
primary address      
secondary adress

192.168.100.6

10.0.1.0/24, 192.168.100.6

路由:      
route add -net 10.0.1.0/24 gw 192.168.100.6

ip route add to 10.0.1.0/24 dev eth1 via 192.168.100.6      
   add, change, show, flush, replace      
   
ifconfig eth0, 172.16.200.33/16

ifconfig eth0:0 172.16.200.33/16

总结

如何定义IP:      
/etc/init.d/network      
1、修改配置文件      
   /etc/sysconfig/network-scripts/ifcfg-XXX      
       eth{0,1,2,...}      
       ppp{0,1,2,...}

   eth0:{0,1,2,...}, 例如,eth0:0

2、ifconfig 接口 IP/netmask

3、ip addr      
   iproute2:      
       ip, tc, ss

4、 setup      
       system-config-network-tui: 直接修改配置文件      
   system-config-network-gui

静态IP:

BOOTPROTO={none|static|bootp|dhcp}      
IPADDR=      
NETMASK=      
GATEWAY=      
PEERDNS=no      
   默认路由      
   网络路由      
   主机路由      
       route add {-net|-host} TARGET gw nexthop      
       route add default gw GATEWAY

       /etc/sysconfig/network-scripts/route-XXX

/etc/hosts


/etc/resolv.conf      
nameserver IP1      
nameserver IP2      
nameserver IP3

www.magedu.com


NetworkManager:  不支持桥接      
chkconfig NetworkManager off      
chkconfig network on

init --> upstart --> systemd