28.2. 在隔离的 VRF 网络内启动服务
您可以将服务(如 Apache HTTP 服务器)配置为在隔离的虚拟路由和转发(VRF)网络中启动。
重要
服务只能绑定到同一 VRF 网络中的本地 IP 地址。
先决条件
-
您已配置了
vrf0
设备。 -
您已将 Apache HTTP 服务器配置为仅侦听分配给与
vrf0
设备关联的接口的 IP 地址。
流程
显示
httpd
systemd 服务的内容:systemctl cat httpd ... [Service] ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND ...
# systemctl cat httpd ... [Service] ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在后续步骤中需要
ExecStart
参数的内容,以在隔离的 VRF 网络中运行相同的命令。创建
/etc/systemd/system/httpd.service.d/
目录:mkdir /etc/systemd/system/httpd.service.d/
# mkdir /etc/systemd/system/httpd.service.d/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下内容创建
/etc/systemd/system/httpd.service.d/override.conf
文件:[Service] ExecStart= ExecStart=/usr/sbin/ip vrf exec vrf0 /usr/sbin/httpd $OPTIONS -DFOREGROUND
[Service] ExecStart= ExecStart=/usr/sbin/ip vrf exec vrf0 /usr/sbin/httpd $OPTIONS -DFOREGROUND
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要覆盖
ExecStart
参数,您首先需要对其取消设置,然后将其设为所示的新值。重新加载 systemd 。
systemctl daemon-reload
# systemctl daemon-reload
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新启动
httpd
服务。systemctl restart httpd
# systemctl restart httpd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
显示
httpd
进程的进程 ID(PID):pidof -c httpd
# pidof -c httpd 1904 ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 显示 PID 的 VRF 关联,例如:
ip vrf identify 1904
# ip vrf identify 1904 vrf0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 显示与
vrf0
设备关联的所有 PID:ip vrf pids vrf0
# ip vrf pids vrf0 1904 httpd ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow