Linux网络服务配置是系统管理中的核心任务,涉及网络接口、IP地址、DNS、路由及防火墙等多个方面,不同发行版可能采用不同工具(如ifconfig、ip、Netplan、NetworkManager等),但核心逻辑一致,以下从基础到进阶详细介绍配置步骤。
网络接口基础配置
网络接口是设备与网络通信的物理或虚拟通道,配置前需先查看接口状态,使用ip addr show
或ifconfig
(需安装net-tools)可列出所有接口及IP信息,如eth0
(有线)、wlan0
(无线)、lo
(回环)。
静态IP配置
静态IP适用于需固定网络环境的服务器,需手动配置IP、子网掩码、网关。
-
Debian/Ubuntu(传统ifupdown):编辑
/etc/network/interfaces
,添加以下内容:auto eth0 iface eth0 inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 8.8.8.8 114.114.114.114
保存后执行
sudo ifup eth0
或sudo systemctl restart networking
重启服务。 -
RHEL/CentOS(NetworkScripts):编辑
/etc/sysconfig/network-scripts/ifcfg-eth0
:TYPE=Ethernet BOOTPROTO=static IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=8.8.8.8 ONBOOT=yes
执行
sudo ifup eth0
或sudo systemctl restart network
。 -
Ubuntu 18.04+(Netplan):编辑
/etc/netplan/01-netcfg.yaml
(文件名可能不同):network: version: 2 ethernets: eth0: dhcp4: no addresses: [192.168.1.100/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 114.114.114.114]
执行
sudo netplan apply
应用配置。
DHCP动态IP配置
客户端自动获取IP,需将配置文件中的BOOTPROTO
设为dhcp
(ifupdown/NetworkScripts)或dhcp4: yes
(Netplan),重启网络服务即可。
DNS服务配置
DNS用于域名解析,配置文件为/etc/resolv.conf
,但直接修改可能被网络服务覆盖(如systemd-resolved),推荐通过系统工具管理。
- 手动配置:临时可编辑
/etc/resolv.conf
,添加nameservers 8.8.8.8
;永久配置需参考上文静态IP中的dns-nameservers
或DNS1
参数。 - systemd-resolved(Ubuntu默认):编辑
/etc/systemd/resolved.conf
,取消DNS=
注释并填入服务器(如DNS=8.8.8.8 114.114.114.114
),执行sudo systemctl restart systemd-resolved
,并确保/etc/resolv.conf
是/run/systemd/resolve/stub-resolv.conf
的软链接。
网络服务管理
Linux通过系统服务(如network
、NetworkManager
)管理网络状态,常用命令如下:
命令 | 用途 | 示例 |
---|---|---|
systemctl restart network |
重启网络服务(RHEL/CentOS) | sudo systemctl restart network |
systemctl restart networking |
重启网络服务(Debian/Ubuntu) | sudo systemctl restart networking |
nmcli connection show |
查看NetworkManager连接 | nmcli connection show |
nmcli con mod "eth0" ipv4.method manual |
修改连接为静态IP | nmcli con mod "eth0" ipv4.method manual |
nmtui |
NetworkManager文本界面 | sudo nmtui (交互式配置) |
NetworkManager
是现代Linux发行版的默认网络管理工具,支持图形化(nmtui
)、命令行(nmcli
)和配置文件,适合动态网络环境(如笔记本)。
防火墙与安全配置
防火墙是网络安全的第一道防线,Linux常用工具为iptables
(传统)和firewalld
(RHEL/CentOS 7+)。
iptables
基于内核的包过滤工具,通过“表”(filter、nat等)和“链”(INPUT、OUTPUT、FORWARD)管理规则。
- 开放端口(如80端口):
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
- 查看规则:
sudo iptables -L -n -v
- 保存规则(CentOS 7前):
sudo service iptables save
;Ubuntu需安装iptables-persistent
并执行sudo netfilter-persistent save
。
firewalld
支持“区域”(zone)管理(如public、trusted),动态修改规则无需重启服务。
- 添加永久规则(开放80端口):
sudo firewall-cmd --permanent --add-port=80/tcp
- 重新加载规则:
sudo firewall-cmd --reload
- 查看活动区域:
sudo firewall-cmd --get-active-zones
高级网络配置
静态路由
当需访问多个网络时,添加静态路由:
- 临时路由:
sudo ip route add 192.168.2.0/24 via 192.168.1.254
- 永久路由(RHEL/CentOS):编辑
/etc/sysconfig/network-scripts/route-eth0
,添加:ADDRESS0=192.168.2.0 NETMASK0=255.255.255.0 GATEWAY0=192.168.1.254
重启网络服务生效。
网络命名空间
用于隔离网络环境(如容器、测试),创建步骤:
- 创建命名空间:
sudo ip netns add ns1
- 创建虚拟网卡对:
sudo ip link add veth0 type veth peer name veth1
- 将veth0加入ns1:
sudo ip link set veth0 netns ns1
- 配置IP并启动:
sudo ip netns exec ns1 ip addr add 192.168.3.1/24 dev veth0 sudo ip netns exec ns1 ip link set veth0 up sudo ip link set veth1 up
Linux网络服务配置需结合发行版工具,核心步骤包括:配置网络接口(静态/DHCP)、设置DNS、管理网络服务、配置防火墙及高级路由,操作前建议备份配置文件,并通过ping
、traceroute
、nslookup
等命令测试连通性,确保配置正确。
相关问答FAQs
问题1:Linux网络服务启动失败,如何排查?
解答:可按以下步骤排查:
- 检查服务状态:
sudo systemctl status network
(或NetworkManager
),查看日志中的错误信息(如journalctl -u network
)。 - 检查配置文件语法:Debian/Ubuntu用
sudo ifup -a -v
验证interfaces
文件;RHEL/CentOS用sudo ifdown eth0 && sudo ifup eth0
测试。 - 检查接口状态:
sudo ip link show
确认接口是否为UP
状态,若为DOWN
则手动启动(sudo ip link set eth0 up
)。 - 检查IP配置:
sudo ip addr show eth0
确认IP、子网掩码是否正确,网关是否可达(sudo ping 网关IP
)。
问题2:配置静态IP后无法上网,如何解决?
解答:常见原因及解决方法:
- 网关配置错误:检查
/etc/network/interfaces
或ifcfg-eth0
中的gateway
是否正确,或通过sudo ip route show
查看默认路由。 - DNS解析失败:
sudo cat /etc/resolv.conf
确认DNS服务器配置,可临时替换为公共DNS(如8.8.8
),测试是否为DNS问题。 - 防火墙拦截:检查
iptables
或firewalld
规则,确认是否阻止出站流量(如sudo iptables -L -n -v
查看OUTPUT
链)。 - 路由问题:
sudo traceroute 目标IP
(如traceroute 8.8.8.8
),检查是否有路由中断,可手动添加临时路由测试。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/31374.html