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