宝塔面板不直接支持创建虚拟网卡,需通过系统命令配置多IP并绑定至网站服务。具体包括:一、用ip addr show确认已启用的虚拟网卡;二、修改网络配置文件(CentOS的ifcfg-eth0:0或Ubuntu的netplan)持久化IP;三、在网站设置中指定监听IP与端口;四、防火墙中为各虚拟网卡IP单独放行80/443端口;五、用计划任务定时检测并恢复丢失的IP。

如果您在宝塔面板中需要为服务器配置多个虚拟网卡并分别管理其IP地址,则需注意宝塔面板本身不直接提供虚拟网卡创建与底层网络接口配置功能,但可通过系统命令配合面板的文件管理或终端功能完成多IP绑定与服务监听控制。以下是实现该目标的具体操作路径:
一、确认系统中已存在多个虚拟网卡接口
虚拟网卡(如 eth0:0、eth0:1 或独立网卡如 ens33、ens34)必须由操作系统内核识别并启用,宝塔仅可对已存在的网络接口所绑定的IP进行服务级应用配置。需先通过命令行验证接口状态。
1、登录宝塔面板,点击左侧【终端】进入SSH命令行界面。
2、执行 ip addr show 命令,查看所有网络接口及其分配的IPv4地址。
3、确认输出中存在多个非重复的公网或内网IP,且对应接口名称(如 eth0:0、ens33、bond0:1)处于 UP 状态。
二、通过系统配置文件持久化添加虚拟网卡IP
若虚拟网卡IP未在重启后保留,需修改网络配置文件确保多IP长期生效。不同发行版路径与格式略有差异,以下以CentOS 7/8和Ubuntu 20.04+为例。
1、在宝塔【文件】管理器中,定位到 /etc/sysconfig/network-scripts/(CentOS)或 /etc/netplan/(Ubuntu)目录。
2、对于CentOS,在 network-scripts 目录下新建文件 ifcfg-eth0:0,内容填入:
DEVICE=eth0:0
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.10.100
NETMASK=255.255.255.0
3、对于Ubuntu,在 netplan 目录下编辑 01-network-manager-all.yaml,在对应网卡配置下添加 addresses 字段,例如:
addresses: [192.168.10.100/24, 192.168.10.101/24]
4、保存后,在终端执行 sudo systemctl restart NetworkManager(CentOS)或 sudo netplan apply(Ubuntu)使配置生效。
三、在宝塔网站设置中绑定指定IP与端口
宝塔支持为单个网站绑定特定IP地址及监听端口,从而实现流量按虚拟网卡分流。该设置影响Nginx/Apache的server{ }或VirtualHost配置块。
1、进入【网站】列表,点击目标站点右侧【设置】按钮。
2、在【域名管理】下方找到【SSL】选项卡旁的【配置文件】按钮,或直接切换至【网站目录】→【其他设置】→【网站监控】区域。
3、在【监听地址】栏中,将默认的 0.0.0.0:80 修改为具体虚拟网卡IP,例如 192.168.10.100:80;HTTPS同理改为 192.168.10.100:443。
4、点击【保存】,宝塔将自动重载Web服务配置,Nginx配置中对应 server 指令的 listen 行将更新为指定IP。
四、使用宝塔防火墙开放对应IP的端口策略
当多个虚拟网卡使用不同IP提供服务时,防火墙规则需精确匹配源IP或目标IP,避免因全局放行导致安全边界模糊。
1、进入【安全】→【防火墙】页面。
2、点击【添加放行端口】,在【端口】栏填写 80,443,在【来源IP】栏留空(表示任意),但勾选【指定目标IP】选项。
3、在弹出的输入框中填入某一虚拟网卡IP,例如 192.168.10.100。
4、重复步骤2–3,分别为其余虚拟网卡IP添加独立放行规则,确保每个IP的80/443端口单独可控。
五、通过宝塔计划任务定期校验虚拟网卡状态
部分云平台或热插拔场景下,虚拟网卡可能意外丢失。可借助计划任务每5分钟检测关键IP是否存在,并触发恢复动作。
1、进入【计划任务】→【添加计划任务】。
2、任务类型选择【Shell脚本】,执行周期设为【每5分钟】。
3、脚本内容填写:
if ! ip addr show | grep -q '192.168.10.100'; then ip addr add 192.168.10.100/24 dev eth0; fi
4、点击【添加任务】,宝塔将定时运行该命令,确保指定IP始终挂载于对应网卡。










