托管机柜/27 IPv4安全分配咨询:CentOS路由适配HP 2510G
嘿,这个需求完全能实现,咱们一步步拆解来做,结合CentOS的路由功能和HP 2510G的交换机特性,就能搞定「重装自动分配正确IP」+「阻止私自额外分配IP」的核心需求:
一、先把CentOS配置成基础路由器
CentOS天生就能当路由器,只需要开启IP转发功能,再配置好公网IP就行:
开启IP转发
- 临时生效(重启后失效):执行
echo 1 > /proc/sys/net/ipv4/ip_forward - 永久生效:编辑
/etc/sysctl.conf,把net.ipv4.ip_forward的值改成1,然后执行sysctl -p让配置立刻生效。
- 临时生效(重启后失效):执行
配置公网IP
假设你的/27公网网段是203.0.113.64/27,给CentOS的WAN口(连接上游运营商的网卡)分配一个网段内的IP,比如203.0.113.65,子网掩码设为255.255.255.224,网关填运营商给你的上游网关地址。
二、HP 2510G交换机的关键配置(核心管控环节)
要实现每个端口对应固定IP+防私自改IP,得用到VLAN隔离、DHCP Snooping和IP/MAC绑定三个功能:
给每个服务器端口划独立VLAN
给每个接服务器的端口单独创建一个VLAN,每个VLAN只包含该服务器端口和连接CentOS的上行端口。这样能把每个服务器隔离开,避免互相干扰,也方便后续管控。
示例CLI命令(登录交换机后执行):# 创建VLAN10,对应端口2的服务器 vlan 10 name Server_Port2 tagged 1 # 端口1是连接CentOS的上行口,设为tagged untagged 2 # 端口2是服务器端口,设为untagged exit # 创建VLAN11,对应端口3的服务器 vlan 11 name Server_Port3 tagged 1 untagged 3 exit以此类推,给所有服务器端口都分配独立VLAN。
启用DHCP Snooping,防止私开DHCP服务器
这个功能能阻止服务器私自运行DHCP服务乱分配IP,同时只信任CentOS的上行端口,确保只有咱们的DHCP服务器能分配IP:ip dhcp-snooping ip dhcp-snooping trust 1 # 信任上行端口1IP/MAC绑定+端口安全,锁定每个端口的合法设备
先通过show mac-address命令获取服务器的MAC地址,然后给每个端口绑定对应的IP和MAC,同时限制每个端口只能有一个MAC地址:# 针对端口2的服务器,绑定IP 203.0.113.66和MAC 00:11:22:33:44:55 interface 2 ip source-binding 203.0.113.66 00:11:22:33:44:55 vlan 10 port-security max-mac-count 1 # 只允许一个MAC设备接入 exit这样客户就算换设备或者改IP,交换机都会直接拒绝流量。
三、CentOS配置DHCP服务器,实现重装自动分配固定IP
给CentOS装DHCP服务,配置成给每个服务器分配固定IP,这样客户重装系统时,只要MAC地址不变,就能自动拿到对应的公网IP:
安装DHCP服务
执行yum install dhcp -y安装服务。编辑DHCP配置文件
打开/etc/dhcp/dhcpd.conf,添加以下内容(替换成你的实际网段和设备信息):subnet 203.0.113.64 netmask 255.255.255.224 { option routers 203.0.113.65; # CentOS的网关IP option domain-name-servers 8.8.8.8, 1.1.1.1; # 可选的DNS服务器 # 端口2的服务器固定IP配置 host server1 { hardware ethernet 00:11:22:33:44:55; fixed-address 203.0.113.66; option vlan-id 10; # 指定对应的VLAN } # 端口3的服务器固定IP配置 host server2 { hardware ethernet 00:AA:BB:CC:DD:EE; fixed-address 203.0.113.67; option vlan-id 11; } # 其他服务器以此类推添加配置 }配置CentOS的VLAN子接口
因为每个服务器在独立VLAN里,CentOS需要创建对应的VLAN子接口来通信。假设CentOS的上行网卡是eth0,创建VLAN10子接口的命令:nmcli con add type vlan con-name eth0.10 dev eth0 id 10 ip4 203.0.113.65/27给所有VLAN都创建对应的子接口,IP都用CentOS的网关IP就行。
启动DHCP服务并设为开机自启
systemctl start dhcpd systemctl enable dhcpd
四、额外加固:CentOS层面的IP/MAC过滤
为了双重保险,还可以在CentOS上用iptables添加规则,只允许绑定的IP和MAC组合通过:
# 允许端口2服务器的流量 iptables -A FORWARD -s 203.0.113.66 -m mac --mac-source 00:11:22:33:44:55 -j ACCEPT # 允许端口3服务器的流量 iptables -A FORWARD -s 203.0.113.67 -m mac --mac-source 00:AA:BB:CC:DD:EE -j ACCEPT # 拒绝所有未绑定的流量 iptables -A FORWARD -j DROP
最后别忘了保存配置
交换机配置完后执行 write memory 保存,防止重启后丢失;CentOS的配置已经是永久生效的,不用额外保存。
这样一套配置下来,客户重装系统时会自动获取对应的公网IP,私自改IP或者加设备都会被交换机和CentOS双重拦截,完全满足你的需求。
内容的提问来源于stack exchange,提问作者Geo

