HCRM博客

配置CentOS系统VLAN网关与路由教程

在网络管理中,虚拟局域网(VLAN)技术是提升网络效率与安全性的重要手段,对于运行CentOS系统的管理员而言,将CentOS服务器配置为VLAN间的网关路由器,是一项实用且强大的技能,它能有效隔离广播域,实现不同网段间的可控通信。

配置CentOS系统VLAN网关与路由教程-图1

理解VLAN与路由的基础概念

VLAN允许我们在单一物理网络设备上创建多个逻辑上独立的网络,这些网络之间的设备无法直接通信,仿佛它们连接在不同的物理交换机上,要实现VLAN间的数据转发,必须依赖第三层设备——也就是路由器。

传统的做法是使用独立的路由器设备,利用CentOS Linux系统的强大网络功能,我们可以将一台配备多个物理网卡的服务器,配置为一台高性能、高定制化的软件路由器,这种方案成本效益高,且提供了极大的灵活性。

配置前的准备工作

在开始配置之前,需要确保硬件与系统环境准备就绪。

  1. 硬件要求:服务器至少需要两个物理网络接口,一个接口通常用于连接外部网络或管理,另一个接口则连接支持VLAN划分的交换机,服务器的处理能力和内存应根据预期的网络流量进行选择。
  2. 软件要求:确保使用CentOS 7或8等主流版本,需要安装必要的网络工具包,通常vlaniproute2包是必需的,可以使用yum install vlan iproute命令进行安装。
  3. 交换机配置:与服务器相连的交换机端口必须配置为Trunk模式,允许携带VLAN标签的流量通过,如果服务器通过eth1接口与交换机相连,并且需要处理VLAN 10和VLAN 20的流量,那么交换机的这个端口必须设置为Trunk,并放行VLAN 10和20。

分步配置流程

以下是在CentOS系统上配置VLAN网关路由的核心步骤。

第一步:加载内核模块

需要确保系统加载了802.1Q内核模块,该模块为系统提供VLAN支持。

sudo modprobe 8021q
echo "8021q" | sudo tee -a /etc/modules-load.d/vlan.conf

第二步:创建VLAN虚拟接口

我们将在物理接口(例如eth1)上创建VLAN虚拟接口,假设需要为VLAN 10和VLAN 20创建接口。

配置CentOS系统VLAN网关与路由教程-图2

使用传统的ifcfg脚本方式(以CentOS 7为例,在/etc/sysconfig/network-scripts/目录下创建文件):

创建VLAN 10的接口配置文件 ifcfg-eth1.10

DEVICE=eth1.10
BOOTPROTO=none
ONBOOT=yes
TYPE=Vlan
PHYSDEV=eth1
VLAN=yes
VLAN_ID=10
IPADDR=192.168.10.1
NETMASK=255.255.255.0

创建VLAN 20的接口配置文件 ifcfg-eth1.20

DEVICE=eth1.20
BOOTPROTO=none
ONBOOT=yes
TYPE=Vlan
PHYSDEV=eth1
VLAN=yes
VLAN_ID=20
IPADDR=192.168.20.1
NETMASK=255.255.255.0

这里,eth1.10eth1.20是虚拟接口,它们分别获得了不同网段的IP地址,并作为各自VLAN的网关。

对于使用NetworkManager或偏好ip命令的用户,也可以使用命令临时创建,但通过配置文件能确保重启后依然有效。

第三步:启用IP转发功能

要让CentOS充当路由器,核心是开启系统的IP转发能力,这需要修改内核参数。

编辑 /etc/sysctl.conf 文件,确保包含以下行:

net.ipv4.ip_forward = 1

然后执行以下命令使配置立即生效:

sudo sysctl -p

第四步:配置防火墙与路由规则

仅仅开启转发还不够,数据包需要被防火墙允许通过,CentOS默认使用firewalld,我们可以利用其富规则(rich rules)来允许VLAN间的转发。

配置CentOS系统VLAN网关与路由教程-图3

假设我们允许VLAN 10和VLAN 20之间互访:

sudo firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=192.168.10.0/24 destination address=192.168.20.0/24 accept'
sudo firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=192.168.20.0/24 destination address=192.168.10.0/24 accept'
sudo firewall-cmd --reload

如果需要更精细的控制,例如只允许特定端口的通信,可以在富规则中指定端口和协议。

第五步:验证与测试

完成配置后,重启网络服务或直接重启服务器。

sudo systemctl restart network

随后,进行验证:

  1. 使用 ip addr show 命令,检查VLAN虚拟接口(eth1.10, eth1.20)是否已启动并分配了正确的IP地址。
  2. 在同一VLAN内的客户端设备上,将网关设置为对应的VLAN接口IP(如VLAN 10的客户端网关设为192.168.10.1)。
  3. 从一个VLAN的客户端ping另一个VLAN的客户端IP,测试连通性,从192.168.10.100 ping 192.168.20.100。

一个实际应用场景

设想一个中小企业,有行政部(VLAN 10)和财务部(VLAN 20),出于安全考虑,需要隔离两个部门的网络,但同时,行政部的文件服务器需要被财务部的特定电脑访问。

通过上述配置,我们实现了基础隔离,我们可以在CentOS的防火墙上添加一条精确规则,只允许财务部特定IP(如192.168.20.50)访问行政部文件服务器的特定端口(如445),而阻止所有其他跨VLAN的访问尝试,这充分体现了软件路由在安全策略上的灵活性。

将CentOS配置为VLAN网关,不仅仅是完成一项技术任务,更是对网络架构进行深度优化的过程,它赋予了管理员从数据链路层到网络层的全面控制权,这种基于开源软件的解决方案,以其低成本和高可定制性,在虚拟化环境、云基础设施以及传统企业网络中,始终占有一席之地,掌握这项技能,对于构建一个既安全又高效的现代网络至关重要。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/44813.html

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
请登录后评论...
游客游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~