VLAN(虚拟局域网)是一种将物理网络划分为多个逻辑网络的技术,通过隔离广播域来提高网络安全性和管理效率。
bash
yum install vconfig
# 创建VLAN接口(例如VLAN ID为10)
vconfig add eth0 10
# 为VLAN接口分配IP地址
ip addr add 192.168.10.2/24 dev eth0.10
# 启用VLAN接口
ip link set dev eth0.10 up
nmcli connection add type vlan con-name vlan10 ifname eth0.10 dev eth0 id 10
nmcli connection modify vlan10 ipv4.addresses 192.168.10.2/24
nmcli connection modify vlan10 ipv4.method manual
nmcli connection up vlan10
# 允许VLAN接口的流量
firewall-cmd --permanent --zone=trusted --add-interface=eth0.10
# 或者针对特定服务
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
# 重新加载防火墙
firewall-cmd --reload
# 在交换机上配置ACL限制VLAN间通信
# 在CentOS上,可以使用iptables/nftables限制特定VLAN的访问
# 示例:只允许来自VLAN 20的SSH访问
iptables -A INPUT -i eth0.20 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP
对于需要额外隔离的环境,可以配置私有VLAN: - 主VLAN:包含所有端口 - 隔离VLAN:端口间不能通信 - 社区VLAN:允许特定端口组内通信
防止VLAN跳跃攻击:
# 禁用未使用的接口
ip link set dev eth0.999 down
# 在交换机上配置:
# - 禁用动态Trunk协议(DTP)
# - 将未使用的端口分配到隔离VLAN
# - 启用端口安全功能
ip -d link show
cat /proc/net/vlan/*
配置rsyslog记录VLAN相关事件:
# 在/etc/rsyslog.conf中添加
kern.=info /var/log/vlan.log
# 检查VLAN接口状态
ip addr show
# 检查防火墙规则
firewall-cmd --list-all
iptables -L -n -v
通过合理配置VLAN,您可以有效隔离网络流量,减少攻击面,提高CentOS服务器的整体安全性。