![在我重新启动防火墙上的 radvd 之前,ipv6 不起作用](https://linux22.com/image/1168213/%E5%9C%A8%E6%88%91%E9%87%8D%E6%96%B0%E5%90%AF%E5%8A%A8%E9%98%B2%E7%81%AB%E5%A2%99%E4%B8%8A%E7%9A%84%20radvd%20%E4%B9%8B%E5%89%8D%EF%BC%8Cipv6%20%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8.png)
我的笔记本电脑(Ubuntu 18.04.3 LTS)经常无法获取 ipv6 路由信息,直到我在 linux 防火墙上重新启动 radvd。然后一切正常。有什么想法可以让它在没有人工干预的情况下持续工作吗?
答案1
可能更好地了解事情是如何发生的,但你的问题是重新启动服务无需人工干预;这就是我要做的。
创建 systemd 服务和计时器以执行重新启动 radvd 服务的脚本。将以下所有内容复制到 Linux GW 上的单个文件中,chmod 700
然后使用 执行它sudo
。显然,将计时器部分中的“24h”更改为“12h”或其他适合的小时数:
#!/bin/bash
cat <<'EOF'> /root/radvd-restart.sh
#!/bin/bash
#
systemctl restart radvd.service
EOF
cat <<EOF> /etc/systemd/system/radvd-restart.service
[Unit]
Description=Restart radvd Service
[Service]
User=root
Group=root
Type=simple
ExecStart=/bin/bash /root/radvd-restart.sh
[Install]
WantedBy=multi-user.target
EOF
chmod 644 /etc/systemd/system/radvd-restart.service
cat <<EOF> /etc/systemd/system/radvd-restart.timer
[Unit]
Description=Executes /root/radvd-restart.sh every 24 hours
[Timer]
OnUnitInactiveSec=24h
Unit=radvd-restart.service
[Install]
WantedBy=timers.target
EOF
chmod 644 /etc/systemd/system/radvd-restart.timer
systemctl daemon-reload
systemctl enable radvd-restart.service
systemctl enable radvd-restart.timer
systemctl start radvd-restart.service
systemctl start radvd-restart.timer
再次强调,最好了解事情是如何发生的,但这将满足您的要求,无需手动启动服务即可使其正常工作。