Linux - 網絡 - 配置管理

吳宏東 - 記於2018年07月04日 - 博客 https://segmentfault.com/u/wu...segmentfault

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)地址解釋協議;bash

網絡接口設備

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配置方式less

# 網絡接口類型:以太網
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"

修改該文件後,若是想當即生效,執行如下命令:ssh

# 重啓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服務,它不須要重啓,從而能夠實現動態管理配置;ide

命令 nmcli

該命令用來實現管理網絡設備和配置網絡鏈接;rest

# 顯示網絡接口設備的狀態
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;;
相關文章
相關標籤/搜索