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
来源: http://www.bubuko.com/infodetail-2270198.html