Linux 系统网络配置及 IP 地址相关知识汇总
一、IP地址基础
IP地址:在计算机网络中用来唯一标识一台设备的一组数字。
二、IPv4相关知识
1. IPv4的表示方法
- 采用点分十进制表示,即由4个0-255的十进制数通过点分隔组成(如192.168.1.1)。
2. IPv4地址结构
- 网络位:表示设备所在的网络。
- 主机位:表示该网络中具体的某台设备。
3. IPv4分类及范围
类别 | 地址范围 | 网络位长度(前缀) |
---|---|---|
A类 | 0.0.0.0~127.255.255.255 | /8 |
B类 | 128.0.0.0~191.255.255.255 | /16 |
C类 | 192.0.0.0~223.255.255.255 | /24 |
D类 | 224.0.0.0~239.255.255.255 | -(组播地址) |
E类 | 240.0.0.0~255.255.255.255 | -(保留地址) |
4. IPv4私有地址
- A类私有地址:10.0.0.0-10.255.255.255
- B类私有地址:172.16.0.0-172.31.255.255
- C类私有地址:192.168.0.0-192.168.255.255
三、网卡配置(Linux系统)
1. 网卡配置文件路径
- 位置:
/etc/sysconfig/network-scripts/ifcfg-ens33
(ens33为网卡设备名,可能因系统不同而变化)
2. 图形化配置工具
nmtui
:通过终端图形界面配置网络
四、修改IPv4地址的方法
1. 通过修改网卡配置文件
- 打开配置文件:
vim /etc/sysconfig/network-scripts/ifcfg-ens33
- 配置文件主要参数及说明:
TYPE=Ethernet
:网卡类型(以太网)BOOTPROTO=none
:网络配置方式(none/static为手动配置,dhcp为自动获取)NAME=ens33
:网络连接名称UUID=ed07dcae-82b4-4507-a877-071708e771f9
:网卡的唯一标识DEVICE=ens33
:网卡设备名称ONBOOT=yes
:网卡下次启动状态(yes启动,no不启动)IPADDR=192.168.100.10
:IPv4地址PREFIX=24
:网络位(子网掩码,等同于NETMASK=255.255.255.0
)GATEWAY=192.168.100.254
:网关DNS1=114.114.114.114
:DNS服务器
- 重启网络使配置生效:
systemctl restart network
- 或
nmcli connection up ens33
2. 命令行修改(nmcli工具)
- 列出当前所有网络连接:
nmcli connection show
- 修改网络参数示例(将ens33的IP改为172.16.30.200/24,网关172.16.30.2,DNS为172.16.30.254):
nmcli connection modify ens33 ipv4.addresses 172.16.30.200/24 ipv4.gateway 172.16.30.2 ipv4.dns 172.16.30.254 ipv4.method manual connection.autoconnect yes
- 激活网络连接:
nmcli connection up ens33
五、移除网卡及相关信息
- 删除网卡配置文件:
cd /etc/sysconfig/network-scripts/ rm -rf ifcfg-ens33
- 删除网卡网络连接:
nmcli connection delete ens33
- 移除虚拟机网卡:虚拟机→设置→选中网络适配器→移除→确定
六、添加网卡及配置
- 添加虚拟机网卡:虚拟机→设置→添加→网络适配器→添加→选择仅主机→确定
- 添加网络连接:
nmcli connection add con-name ens33 ifname ens33 type ethernet
- 配置IPv4地址:
nmcli connection modify ens33 ipv4.addresses 172.16.30.30/24 ipv4.gateway 172.16.30.1 ipv4.dns 172.16.30.254 ipv4.method manual connection.autoconnect yes
- 激活网络连接:
nmcli connection up ens33
七、IPv6相关知识
1. IPv6地址示例及结构
- 示例:
2001:db8:0:1::c000:207/64
(网关:2001:db8:0:1::1
) - 结构:共128个比特位,由8组组成,每组4个十六进制数,组之间用冒号分隔。
2. IPv6地址简化规则
- 可省略每组中的前导零,如
FC00:0000:130F:0000:0000:09C0:876A:130B
可简化为FC00:0:130F::09C0:876A:130B
- 连续的零组可用双冒号
::
代替(仅能使用一次)
3. 配置IPv6地址(nmcli工具)
nmcli connection modify ens33 ipv6.addresses 2001:db8:0:1::c000:207/64 ipv6.gateway 2001:db8:0:1::1 ipv6.method manual connection.autoconnect yes
nmcli connection up ens33
八、IP转发配置
1. 查看IP转发是否开启
cat /proc/sys/net/ipv4/ip_forward
(1为开启,0为未开启)
2. 开启IP转发
- 编辑配置文件:
vim /etc/sysctl.conf
- 添加或修改参数:
net.ipv4.ip_forward = 1
- 使配置生效:
sysctl -p /etc/sysctl.conf
九、静态路由配置
1. 添加静态路由
- 目标为主机:
route add -host 目标主机IP gw 网关地址 dev 接口
- 示例:
route add -host 172.16.40.10 gw 172.16.30.254 dev ens33
- 示例:
- 目标为网络:
- 带网关:
route add -net 目标网络 netmask 子网掩码 gw 网关地址 dev 接口
- 示例:
route add -net 172.16.30.0 netmask 255.255.255.0 gw 172.16.20.1 dev ens33
- 示例:
- 不带网关:
route add -net 目标网络 netmask 子网掩码 dev 接口
- 示例:
route add -net 172.16.30.0 netmask 255.255.255.0 dev ens33
- 示例:
- 带网关:
2. 删除静态路由
- 目标为主机:
route del -host 目标主机IP gw 网关地址 dev 接口
- 目标为网络:
- 带网关:
route del -net 目标网络 netmask 子网掩码 gw 网关地址 dev 接口
- 不带网关:
route del -net 目标网络 netmask 子网掩码 dev 接口
- 带网关:
3. 注意事项
- 目标为主机时,必须指定网关
- 目标为网段时,可指定网关,也可不指定
十、实验报告示例(主机网络配置)
主机1(chenyu1):
- 网络模式:仅主机模式
- IP地址:172.16.30.10
- 子网掩码:255.255.255.0
- 网关:172.16.30.254
主机2(chenyu2):
- 网络模式:仅主机模式
- IP地址:172.16.40.10
- 子网掩码:255.255.255.0
- 网关:172.16.40.254
小实验
1、使用命令配置两台主机的ip信息
2、添加路由,使两台主机能够通信
一,配置主机的IP信息
方法一:
[root@huangruizhe1 network-scripts]# nmcli connection show
# 查看当前主机所有可用的网络连接(包括连接名称、UUID、类型等信息)
NAME UUID TYPE DEVICE
ens33 ed07dcae-82b4-4507-a877-071708e771f9 ethernet ens33
ens36 70d146eb-03c6-4298-8298-6ed98d87f39b ethernet ens36
virbr0 d97d5c35-008e-4912-9b58-3c8a00a254f5 bridge virbr0
[root@huangruizhe1 ~]# cd /etc/sysconfig/network-scripts/
# 切换到Linux系统中网卡配置文件所在的目录(该目录存放所有网络接口的配置文件)
[root@huangruizhe1 network-scripts]# ls
# 列出该目录下的文件(查看已存在的网卡配置文件,如ifcfg-ens33等)
ifcfg-ens33 ifdown-ipv6 ifdown-tunnel ifup-isdn ifup-TeamPort
ifcfg-ens36 ifdown-isdn ifup ifup-plip ifup-tunnel
ifcfg-lo ifdown-post ifup-aliases ifup-plusb ifup-wireless
ifdown ifdown-ppp ifup-bnep ifup-post init.ipv6-global
ifdown-bnep ifdown-routes ifup-eth ifup-ppp network-functions
ifdown-eth ifdown-sit ifup-ib ifup-routes network-functions-ipv6
ifdown-ib ifdown-Team ifup-ippp ifup-sit
ifdown-ippp ifdown-TeamPort ifup-ipv6 ifup-Team
[root@huangruizhe1 network-scripts]# vim ifcfg-ens36
# 使用vim编辑器创建或编辑名为ifcfg-ens36的网卡配置文件(ens36为网卡设备名,用于配置该网卡的IP、网关等网络参数)
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens36
UUID=70d146eb-03c6-4298-8298-6ed98d87f39b
DEVICE=ens36
ONBOOT=yes
IPADDR=192.168.100.11
PREFIX=24
GATEWAY=192.168.100.254
DNS1=114.114.114.114
用i键进入编辑模式直接改IPADDR=192.168.100.11那一行后用Esc进入命令模式用:wq保存退出
[root@huangruizhe1 network-scripts]systemctl restart network
# 重启系统的网络服务,使所有网络配置(如网卡配置文件的修改)生效
# 该命令会重启整个网络服务,影响所有网络接口
[root@huangruizhe1 network-scripts]nmcli connection up ens36
# 激活名为ens36的网络连接(使该连接的配置生效,如IP地址、网关等)
方法二
[root@huangruizhe1]nmcli connection modify ens 33 ipv4.addresses 192.168.100.11/24 ipv4.gateway 192.168.100.254 ipv4.dns 114.114.114.114 ipv4.method manual connection.autoconnect yes
# 使用nmcli命令名为ens36的网络连接的相关配置
nmcli connection modify ens36
ipv4.addresses 192.168.100.11/24
# 设置IPv4地址为192.168.100.11,子网掩码为255.255.255.0(/24表示网络位长度为24位)ipv4.gateway 192.168.100.254
# 设置IPv4网关地址为192.168.100.254(用于跨网段通信的出口设备IP)
ipv4.dns 114.114.114.114
# 设置DNS服务器地址为114.114.114.114(用于将域名解析为IP地址)
ipv4.method manual
# 设置IPv4的配置方式为手动(静态配置,需手动指定IP、网关等,而非通过DHCP自动获取)
connection.autoconnect yes
# 设置该网络连接在系统启动时自动激活(开机后无需手动开启该连接)
[root@huangruizhe1]nmcli connection up ens 36
激活网卡
二、添加路由,使两台主机能够通信
主机一
route add -host 192.168.200.21 gw 192.168.100.254 dev ens 36
主机二
route add -host 192.168.100.11 gw 192.168.200.254 dev ens 36