上一篇
在局域网中设置虚拟主机
- 虚拟主机
- 2025-08-25
- 5
局域网依规划分配IP、端口等参数,借软件或系统功能设虚拟主机。
前期准备
确认网络环境
- IP地址规划:确保局域网内有可用的静态IP段(如
168.1.x/24
),避免与现有设备冲突,建议为每个虚拟主机分配独立的IP,便于管理,示例分配方案如下:
| 主机名 | IPv4地址 | 子网掩码 | 网关 |
|————–|——————-|—————-|—————-|
| WebServer01 | 192.168.1.100 | 255.255.255.0 | 192.168.1.1 |
| DBServer02 | 192.168.1.101 | 255.255.255.0 | 192.168.1.1 | - 硬件要求:宿主机需支持多网卡或VLAN功能;若使用云平台(如Proxmox VE),则无需额外配置物理接口。
选择实现方式
- 基于操作系统的工具:Windows可通过“管理您的服务器角色”添加DNS/DHCP服务;Linux推荐使用
network-manager
图形界面或直接编辑/etc/network/interfaces
文件。 - 容器化方案:Docker/Kubernetes可快速创建隔离环境,适合轻量级应用部署,运行一个Nginx容器并映射端口80到宿主机的5000端口:
docker run -d --name myweb -p 5000:80 nginx:latest
- 虚拟机软件:VMware Workstation、VirtualBox等允许自定义网卡模式(NAT/桥接/仅主机),推荐桥接模式以获得真实局域网IP。
配置步骤(以Linux系统为例)
创建虚拟网卡接口
编辑网络配置文件(Ubuntu系统路径为/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] # 新增虚拟接口vlan100 vlan100: link: eth0 type: vlan id: 100 addresses: [192.168.1.101/24]
应用配置后重启网络服务:sudo netplan apply
设置路由转发规则
启用IP转发功能(修改/proc/sys/net/ipv4/ip_forward
值为1),并添加NAT规则:
# 持久化生效需写入/etc/sysctl.conf echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf sysctl -p # 使用iptables做MASQUERADE伪装 iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
DNS解析绑定(可选)
在/etc/hosts
中添加条目实现域名访问:
192.168.1.100 www.example.com 192.168.1.101 db.example.com
或搭建本地DNS服务器(如BIND9),配置区域文件指向对应IP。
验证连通性
测试方法 | 预期结果 | 工具示例 |
---|---|---|
Ping目标IP | TTL响应正常,无丢包 | ping 192.168.1.100 |
Telnet指定端口 | 成功建立连接 | telnet 192.168.1.100 80 |
Curl访问Web服务 | HTTP状态码200 | curl http://192.168.1.100 |
Tracert追踪路径 | 数据包经网关跳转至目标主机 | traceroute 192.168.1.100 |
常见问题与解答
Q1: 虚拟主机之间无法互相通信怎么办?
A: 检查三点:①防火墙是否阻止了ICMP/TCP流量(临时关闭测试:ufw disable
);②子网掩码是否一致导致广播域分离;③路由表中是否存在到达目标网段的有效路径(用route -n
查看),若仍不通,尝试更换VLAN ID重新划分广播域。
Q2: 如何限制虚拟主机的网络带宽?
A: Linux可通过tc
命令实现流量控制,例如限制eth0接口上传速率为1Mbps:
tc qdisc add dev eth0 root handle 1: prio tc class add dev eth0 parent 1: classid 1:1 prio 1 tc filter add dev eth0 protocol ip parent 1:0 u32 match ip src 192.168.1.100/32 flowid 1:1 tc qdisc add dev eth0 root handle 2: tbf rate 1mbit buffer 1600 limit 3200 peakrate 2mbit minburst 150 latency 40ms
Windows系统则可在“高级安全Windows防火墙”中设置出站规则,指定最大带宽百分比