在 lo 上启用 multicast#
手动(临时解决方案)#
您只需调用以下命令即可在环回接口上启用组播.
sudo ip link set lo multicast on
警告
一旦计算机重新启动,这将恢复.要使其成为永久性的,请按照以下步骤作.
注意
这里,lo 是环回接口.
您可以使用 ip link show 检查接口.
您可以将 lo 更改为要启用多播的接口.
使用服务启动时(永久解决方案)#
sudo nano /etc/systemd/system/multicast-lo.service
将以下内容粘贴到文件中:
[Unit]
Description=Enable Multicast on Loopback
[Service]
Type=oneshot
ExecStart=/usr/sbin/ip link set lo multicast on
[Install]
WantedBy=multi-user.target
按以下键以使用 nano 保存:
Ctrl+XYEnter
# Make it recognized
sudo systemctl daemon-reload
# Make it run on startup
sudo systemctl enable multicast-lo.service
# Start it now
sudo systemctl start multicast-lo.service
驗證#
you@pc:~$ sudo systemctl status multicast-lo.service
○ multicast-lo.service - Enable Multicast on Loopback
Loaded: loaded (/etc/systemd/system/multicast-lo.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Mon 2024-07-08 12:54:17 +03; 4s ago
Process: 22588 ExecStart=/usr/bin/ip link set lo multicast on (code=exited, status=0/SUCCESS)
Main PID: 22588 (code=exited, status=0/SUCCESS)
CPU: 1ms
Tem 08 12:54:17 mfc-leo systemd[1]: Starting Enable Multicast on Loopback...
Tem 08 12:54:17 mfc-leo systemd[1]: multicast-lo.service: Deactivated successfully.
Tem 08 12:54:17 mfc-leo systemd[1]: Finished Enable Multicast on Loopback.
you@pc:~$ ip link show lo
1: lo: <LOOPBACK,MULTICAST,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
卸载服务#
如果出于某种原因您想要卸载该服务,您可以按照以下步骤进行作:
# Stop the service
sudo systemctl stop multicast-lo.service
# Disable the service from running on startup
sudo systemctl disable multicast-lo.service
# Remove the service file
sudo rm /etc/systemd/system/multicast-lo.service
# Reload systemd to apply the changes
sudo systemctl daemon-reload