ip 网络层协议
ip地址 点分十进制分为4段,范围 0-255
ip分类
A 占据1段,最左侧一段第一位固定为0
0 000 0000 - 0 111 1111
0 - 127:其中0为网络,127 本地主机内部通信。
网络数: 2^7-2=126个
每个网络中的主机数: 2^24=16777216 (1677736)
默认子网掩码: 255.0.0.0
私网地址: 10.0.0.0/8 (8:网络段全为1,有8位)
B 占据2段,最左侧一段第一位固定为10
10 00 0000 - 10 11 1111
128 - 191
网络数:2^(6+8)=2^14=16384个
每个网络中的主机数: 2^16=65536
默认子网掩码:255.255.0.0
私网地址: 172.16.0.0/16 - 172.31.0.0/16 (网络变化位第2位)
C 占据3段,最左侧一段第一位固定为110
110 0 0000 - 110 1 1111
192 - 223
网络数:2^(5+8+8)=2^21=2097152个
每个网络中的主机数: 2^16=65536
默认子网掩码:255.255.255.0
私网地址: 192.168.0.0/24 - 192.168.255.0/24 (网络变化位第3位)
D 占据4段,最左侧一段第一位固定为1110
1110 0000 - 1110 1111
224 - 239
网络数:2^(4+8+8+8)=2^28=268435456个
E 240 - 255
子网掩码:计算ip地址所在的网络
网络相同,本地通信
网络不同,跨网络通信借助路由器(网络层、数据链路层、物理层)
例如:IP:145.239.123.0 MASK 224.239.234.123 网络?
IP地址的二进制 1001 0001 . 1110 1111 . 0111 1011 . 0000 0000
MASK的二进制 1110 0000 . 1110 1111 . 1110 1010 . 0111 1011
网络的二进制 1000 0000 . 1110 1111 . 0110 1010 . 0000 0000
网络地址: 128.239.106.0
路由配置:在未梢网络中,路由器一般指的是默认网关
主机路由:目标是主机
网络路由:目标是网络
默认网关:目标无论为主机或是网络
路由选择:选择匹配精度越高,匹配结果越少
主机路由 > 网络路由 > 默认网关
0.0.0.0
网关: 到达本地的路由信息
目标: 到达任意网络或主机的路由信息
网络接口命名
centos6 根据MAC,eth[0,1,2,...] 在重启后可能会改变
centos7 根据插口/根据PCI-E总线的槽 ,重启后不变
网络属性配置: 让CentOS主机能够接入至网络中
1、配置IP
2、配置路由
3、配置DNS服务
配置方式
命令行配置: 配置在内核中的内存地址中,下次重启失效
ifcfg,ip
nmcli
编辑配置文件配置: 永久有效
/etc/sysconfig/network-scripts/ifcfg-NAME
图形接口配置
system-config-network-tui(setup)
nmtui
命令行:
ifcfg家庭:ifconfig,route,netstat
ifconfig命令
ifconfig [OPTIONS...] [interface] [up|down]
-a 显示所有接口
[-]promise 启用混杂模式
metric N 到达目标的开销值
ifconfig interface address [up|down]
address: ip/mask 或 ip netmask MASK
例如 1.1.1.1/8或1.1.1.1 netmask 255.0.0.0
route命令
route -n 显示内核中的路由表
Destination Gateway Genmask Flags Metric Ref Use Iface
Destination 到达的目标:主机、网络、默认,最终到达主机
Gateway 网关
Genmask 目标的掩码
Flags 标识位
Metric 开销,到达目标的开销
Iface 报文离开本主机经过的网卡
route add|del -host|-net address gw GW dev interface
添加: route add -host|-net address gw GW dev interface
添加主机路由:
route add -host ip/32 gw GW dev interface
route add -host ip netmask MASK gw GW dev interface
添加网络路由:
route add -net ip/mask gw GW dev interface
route add -net ip netmask MASK gw GW dev interface
删除: route del -host|-net address
删除主机路由
route del -host address
删除网络路由
route del -net address
默认路由: -net 0.0.0.0 mask 0.0.0.0
route add|del default gw GW dev IFACE
dig命令
dig -t A FQDN
dig -x IP
host命令
host -t A FQDN
host -t PTR IP
netstat命令
1、network connection:
netstat OPTIONS
-t tcp连接
-u udp连接
-r raw裸套接字
-n numeric不反解IP
-a all所有t,u,..
-l listen监听,等待别人访问
-p program和Pid
-e user和inode
2、routing tables:
netstat OPTIONS
-r 显示内核中的路由表
-n numeric
3、interface statistics
netstat OPTIONS
-i 显示所有接口
-I<dev> 显示指定接口
1、查看IP: ifconfig interface
1)查看激活
[[email protected] ~]# ifconfig eth0 lo
2)查看所有
[[email protected] ~]# ifconfig -a eth0 lo
3)查看指定
[[email protected] ~]# ifconfig lo lo
2、配置IP: ifconfig interface { ip/mask | ip netmask MASK }
[[email protected] ~]# ifconfig eth0 172.16.100.1/16 [[email protected] ~]# ifconfig eth0 172.16.100.1 netmask 255.255.0.0
3、查看路由: route -n
[[email protected] ~]# netstat -rn [[email protected] ~]# route -n
4、配置路由: route add -host | -net { ip/mask | ip netmask MASK} gw GW dev interface
[[email protected] ~]# route add -host 172.16.100.9/32 gw 192.168.3.1 dev eth0 [[email protected] ~]# route add -host 172.16.100.9 netmask 255.255.255.255 gw 192.168.3.1 dev eth0 [[email protected] ~]# route add -host 172.16.100.9 gw 192.168.3.1 dev eth0 [[email protected] ~]# route add -net 0.0.0.0/0 gw 192.168.3.1 dev eth0 [[email protected] ~]# route add default gw 192.168.3.1 dev eth0
5、配置DNS: /etc/resolv.conf
nameserver DNS_SERVER_IP1
nameserver DNS_SERVER_IP2
nameserver DNS_SERVER_IP3
测试DNS服务器
正解: FQDN -->IP
dig -t A FQDN
host -t A FQDN
反解: IP --> FQDN
dig -x IP
host -t PTR IP
[[email protected] ~]# vim /etc/resolv.conf nameserver 192.168.3.1 nameserver 8.8.8.8 nameserver 4.4.4.4
6、网络状态查看: netstat option , options: -t tcp,-u udp,-r raw,-n numeric,-a all,-l listen,-p program,-e extend,
# netstat -tan # netstat -uan # netstat -tnl # netstat -unl(无状态) # netstat -rnl -ran # netstat -tunlp # netstat -tunlpe
裸套接字:不经过传输层,由应用层直接调用IP实现数据传输
numeric: netstat命令默认将Ip反解为字母,-n选项关闭此特性
extend: user,inode扩展信息
program:PID和名字
7、查看内核中的路由表: route -nr
# route -rn
8、查看接口数据: netstat -i查看所有接口数据 , netstat -I<dev>查看由dev指定接口的数据
# netstat -i # netsta -Ieth0