Linux - 网络 - 配置管理
Linux 网络配置
基础知识
OSI 七层模型
从顶至底:应用层 - 表示层 - 会话层 - 传输层 - 网络层 - 数据链路层 - 物理层;
常见缩写名词
DHCP(Dynamic Host Configuration Protocol)动态主机配置协议;
LAN(Local Area Network)局域网;
WAN(Wide Area Network)广域网;
TCP(Transmission Control Protocol)传输控制协议;
UDP(User Datagram Protocol)用户数据协议;
IP(Internet Protocol)网际协议;
ICMP(Internet Control Message Protocol)因特网控制报文协议;
DNS(Domain Name System)域名系统;
ARP(Address Resolution Protocol)地址解释协议;
网络接口设备
ethX:以太网接口,是最常用的网络接口;
wlanX:无线网络接口,无线局域网网络接口;
fddiX:光纤分布式数据接口;
pppX:点对点协议接口,用于Modem/ADSL拨号上网;
lo:本地回环接口,用于进程相互通信;
一致设备命名
en:表示以太网设备(EtherNet);
wl:表示无线局域网设备(Wireless LAN);
ww:表示无线广域网设备(Wireless WAN);
随后第三个字符:
o:表示主板板载设备;
s:表示热插拨设备;
p:表示PCI总线或USB接口设备;
配置文件
主要文件
# 网络接口配置文件 /etc/sysconfig/network-scripts/ifcfg-*; # 网络接口路由配置文件 /etc/sysconfig/network-scripts/route-*; # 本地主机名配置文件 /etc/hostname; # 主机名与IP地址映射文件 /etc/hosts; # 域名与网络地址映射文件 /etc/networks; # 域名服务客户端控制文件 /etc/host.conf; # 指定域名服务器位置 /etc/resolv.conf; # 系统支持协议 /etc/protocol; # 系统支持的服务和端口; /etc/services;
网络接口配置文件
当前我的虚机采用的是DHCP配置方式
# 网络接口类型:以太网 TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" # 获取网络参数方式:static | dhcp | none BOOTPROTO="dhcp" # 是否基于此接口设置默认的路由:yes | no DEFROUTE="yes" # 当IPv4配置失败时,是否禁用IPv4:yes | no IPV4_FAILURE_FATAL="no" # 是否为此接口启用IPv6:yes | no IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" IPV6_ADDR_GEN_MODE="stable-privacy" # 接口设备名称和UUID NAME="ens33" DEVICE="ens33" UUID="2a39fe3c-5b36-4328-bdca-c0c3bd14bdb7" # 是否在启动时启用改设备:yes | no ONBOOT="yes" ZONE="public"
修改该文件后,如果想立即生效,执行以下命令:
# 重启network服务 service network restart; # 或关闭启动接口设备,当前我的虚机设备名是ens33 ifdown ens33; ifup ens33;
设置 IP 转发
出于安全考虑,Linux系统默认是禁止数据包转发的。所谓转发即当主机拥有多于一块的网卡时,其中一块收到数据包,根据数据包的目的ip地址将包发往本机另一网卡,该网卡根据路由表继续发送数据包。这通常就是路由器所要实现的功能。
# 查看当前系统是否支持IP转发,0 为禁用,1 为启用 sysctl net.ipv4.ip_forward; # 启用转发 echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf; # 立即生效 sysctl -p;
设置主机名
# 设置主机名为 master.wuhongdong.com hostnamectl set-hostname master.wuhongdong.com; # 查看主机名 hostname;
NetworkManager
从RHEL/CentOS6开始,NetworkManager服务就是其组成部分;
从RHEL/CentOS7开始,默认开机后就启用NetworkManager服务,非传统的network服务,它不需要重启,从而可以实现动态管理配置;
命令 nmcli
该命令用来实现管理网络设备和配置网络连接;
# 显示网络接口设备的状态 nmcli d; # 显示指定设备的信息 nmcli d sh ens33; # 显示所有连接 nmcli c; # 显示指定连接的信息 nmcli c s ens33; # 断开设备且置为非自动连接,断开后ssh不可用,必须重新开启 nmcli d d ens33; # 开启设备并重新加载连接配置 nmcli c up ifname ens33 && nmcli c reload; # 修改IP地址的获得方式,manual 表示手动设置,auto 表示从DHCP服务器自动获取 nmcli c m ens33 ipv4.method manual; # 添加IP地址 nmcli c m ens33 ipv4.addresses 192.168.47.129/24 && service network restart; # 删除IP地址 nmcli c m ens33 -ipv4.addresses 192.168.47.129/24 && service network restart; # 添加网关和DNS nmcli c m ens33 ipv4.gateway 192.168.47.1 && service network restart;; nmcli c m ens33 ipv4.dns 8.8.8.8 && service network restart;;