1、IP、网关、路由、掩码服务器
网络间主机的通讯是一般是基于TCP/IP协议。数据从A主机发送到网络中的B主机,须要经过层层包装及协议转发,最终经过B主机的IP地址定位,B主机才能最终接收到数据。这个过程很复杂,中间数据的处理是经过TCP/IP协议实现的,而TCP/IP协议又是创建在OSI四层模型上。OSI的四层模型每层都有每层的功能,OSI的四层模型主要工做就是对数据报文的切片和包装。而网络上的主机都必需要有一个IP地址,数据在发出时,TCP/IP协议根据当前IP及掩码计算出当前主机和通讯主机是否在同一个网络段,当两主机不在同一网段时,这时就要经过路由器查找到下一个须要通过的网络设备,也就是网关了,经过网关以及DNS服务器查找IP地址才能最终找到通讯主机。因此只有IP地址、网关、掩码、路由及DNS服务器确认了,而且两台主机之间有一个畅通路线,两主机之间才能正常通讯。网络
IP地址一般分红三类:tcp
A类:第一位为网络位,后三位为主机位 | B类:前二位为网络位,后二位为主机位 | C类:前三位为网络位,后一位为主机位 |
1-126个网络ide 容纳的主机数:2^24-2工具 默认掩码:255.0.0.0测试 网络地址:1.0.0.0ui 广播地址:126.255.255.255spa IP地址范围:1.0.0.1 ~ 126.255.255.2543d 127.0.0.1是环回测试用的固定的特殊IPrest 10.0.0.0到10.255.255.255是私有地址 |
128-191个网络 容纳的主机数:2^16-2 默认掩码:255.255.0.0 网络地址:128.0.0.0 广播地址:191.255.255.255 IP地址范围:128.0.0.1到191.255.255.254 172.16.0.0到172.31.255.255是私有地址 169.254.0.0到169.254.255.255是保留地址 |
192-223个网络 容纳的主机数:2^8-2 默认掩码:255.255.255.0 网络地址:192.0.0.0 广播地址:223.255.255.255 IP地址范围:192.0.0.1 到 223.255.255.254 192.168.0.0到192.168.255.255是私有地址 |
2、Linux网络配置
配置网络前首先在确保主机网卡可以被系统识别。给Linux主机配置网络分两种方式:一是使用命令配置,配置好后当即生效,但系统开机后一切又会还原;二是经过配置文件,配置好后须要重启服务生效,但从这之后永久有效。
一、经过命令配置网络
(1)、使用ifconfig命令给系统配置IP地址
使用ifconfig命令有两种方式配置IP地址,一是:
ifconfig eth0 172.16.251.48 netmask 255.255.0.0
二是,使用短格式的掩码
ifconfig eth0 172.16.251.48/16
(1.1)、添加多个网络地址
ifconfig eth0:0 192.168.2.24/24
(2)、使用route命令配置路由
(2.1)、显示路由
route # 显示路由信息 route -n # 使用数字格式显示,不反解地址到主机名
各字段说名:
Destination | Gateway | Genmask | Flags | Metric | Iface |
||
目标网络段的网络地址 |
网关/下一跳(0.0.0.0为任意地址即没有网关) | 掩码 | U:启用状态 G:默认网关 H:主机路由 |
度量值,到达目标网络须要通过的跳数 | 经过哪一个设备可以到达目标网络 |
(2.2)、添加路由
route add -host 主机地址/掩码 gw 下一跳 [dev Device] #添加主机地址做为路由 route add -net 网络地址 gw 下一跳 [dev Device] #添加网络地址做为路由
注意,当前主机IP地址必需要和下一跳在同一网段。
添加一个网络路由,网络IP为192.168.0.0,下一跳为172.16.2.10
route add -net 192.168.0.0/24 gw 172.16.2.10
添加一个主机路由,主机IP为192.168.3.20,下一跳为172.16.123.110,主机地址不用指定掩码
添加默认路由的两种方法:
route add -net 0.0.0.0 gw 172.16.23.12
route add default gw 172.16.23.12
(2.3)、删除路由
删除网络路由
route del -net 192.168.0.0/24
删除主机路由
route del -host 192.168.3.20
删除默认路由
route del default
(3)、使用ip命令
ifconfig命令和route命令相对来讲是比较老的命令,ip命令是一个能够代替ifconfig和route的命令,也能够实现配置IP、配置路由的功能。
ip命令经常使用的三个功能
ip link # 显示与配置网络设备相关信息 ip addr # 显示与配置IP信息 ip route # 显示与配置路由信息
(3.1)、ip link
命令格式
ip [-s] link show <== 单纯的查阅该装置相关的信息 ip link set [device] [动做与参数] 相关动做参数 up|down :启动 (up) 或关闭 (down) 某个接口,其余参数使用默认的以太网络; address :若是这个装置能够更改 MAC 的话,用这个参数修改! name :给予这个装置一个特殊的名字; mtu :就是最大传输单元啊!
显示全部网络设备的信息
ip link show
显示指定网卡的详细信息
ip -s link show eth0
关闭指定网卡
ip link set eth0 down
开启指定网卡
ip link set eth0 up
设定网卡MTU值
ip link set eth0 mtu 1000
修改网卡名字,修改前请先关闭网卡,修更名字尽可能少用,若是是测试修改完后请记得改回去
ip link set eth0 name wubinary
修改网卡MAC地址,若是是测试修改完后记得改回去
ip link set eth0 address aa:aa:aa:aa:aa:aa
(3.2)、ip addr
命令格式
ip addr show # 显示 IP 参数 ip addr [add|del] [IP参数] [dev 网卡] [相关参数]
显示全部设备的IP信息
ip addr show
添加多个IP地址
ip addr add 192.168.3.5/24 dev eth0
删除指定IP
ip addr del 192.168.2.24/24 dev eth0:0
刷新网卡信息
ip addr flush eth0
(3.3)、ip route
命令格式
ip route show # 显示路由配置 ip route [add|del] [IP或网域] [via gateway] [dev 设备] show :单纯的显示出路由表,也可使用 list ; add|del :添加 (add) 或删除 (del) 路由的意思。 IP或网域:可以使用 192.168.50.0/24 之类的网域或者是单纯的 IP ; via :从那个 gateway 出去,不必定须要; dev :由那个设备连出去,这就须要了
查看路由信息
ip route show
添加路由
ip route add 192.168.3.5/24 dev eth0 # 没有网关 ip route add 192.168.3.5/24 via 192.168.20.1 dev eth0 # 有网关
删除路由
ip route del 192.168.3.5
(4)、使用GUI/TUI界面配置网络
使用命令调出GUI/TUI界面
TUI system-config-network-tui 或 setup GUI system-config-network-gui # 使用界面配置网络信息,配置完成后,信息将保存至配置文件中
例如:使用setup命令
二、经过配置文件配置网络
CentOS6.4的网络配置文件为
IP信息配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0 路由信息配置文件 /etc/sysconfig/network-scripts/ruote-eth0 dns信息配置 /etc/resolv.conf
ifcfg-eth0配置文件各字段说明:
DEVICE=eth0
此配置关联至的设备,设备名要与文件名ifcfg-后的内容保持一致
BOOTPROTE=none
引导协议:{none|static|dhcp|bootp(引导协议)}
HWADDR=00:0c:29:96:c5:24
MAC地址:要与真实MAC地址保持一致;可省略;
NM_CONTROLLED=yes
是否接受NetworkManager脚本控制:{yes|no}
ONBOOT=yes
是否开机自动启动此网络设备,{yes|no}
TYPE=Ethernet
设备类型:Ethernet,Bridge(首字母大写)
UUID="2d225e7-232232-3435-44364566-dddf23"
惟一标识,可省
IPADDR=172.16.12.23
IP地址
NETMASK=255.255.0.0
掩码
GATEWAY=172.16.0.1
默认网关
DNS1=172.16.0.1
DNS服务地址
IPV6INIT=no
是否自动初始化IPv6协议地址
USERCTL=no
是否容许普通用户启用或禁用此网络设备
PEERDNS={yes|no}
是否容许DHCP服务分配地址时直接更新/etc/resolv.conf中的DNS服务器地址;
route-eth0配置文件说明
配置文件的格式1:每行一个要配置的路由条目
DEST via NEXT_HOP
配置文件的格式2:每一组一个路由条目,每组条目编号后用空行分开
ADDRESS#=DEST
NETMASK#=NETMASK
GATEWAY#=Gateway
DNS配置文件说明
可连续指定三个:最多三个
nameserver DNS_SERVER_IP
修改完配置文件后须要从新启动网络服务
service network restart
3、Linux网络管理
一、网络连通性判断
ping命令,判断某个IP地址是否能够远程通讯
ping: 基于ICNP协议,互联网控制报文协议 ping [options] IP -c #: 指定所请求的次数 -w deadline: 测试执行时长,无论成功与否,到了时间就结束
mtr命令,网络连通性判断工具
mtr -h提供帮助命令 mtr -v显示mtr的版本信息 mtr -r已报告模式显示
traceroute命令,获取从当前主机到达目标主机全部通过的网关
traceroute HOST
二、查看主机网络链接状态
netstat命令
-t: tcp协议的链接 -u: udp协议的链接 -l: 监听状态的链接 -a: 全部状态 -p: 链接相关的进程 -n: 数字格式显示 -r: 显示路由表,相似于route或ip route show
经常使用组合:
netstat -tan # tcp状态的链接数字显示
netstat -tunl # 显示tcp udp监听状态的进程而且以数字显示
netstat -rn # 相似于 ip route show
netstat命令是一个古老的命令,Linux上有一个ss命令能够彻底代替netstat命令
ss命令
-t: tcp -u: udp -a: 相关协议的全部链接 -l: 监听状态的套接字 -e: 显示扩展信息 -m: 显示套接链接使用的内存信息 -p: 进程及PID -n: 数字格式地址及端口 -o state {established}: 指定状态显示
两个命令用法类似