You are not logged in.
Hi,
i want to execute rc.local (a bash script) after Network and NetworkManager is on
systemctl edit --full rc-local.service
[Unit]
Description=Boot up Network
Wants=network-online.target
After=NetworkManager.service
[Service]
Type=oneshot
User=root
Group=root
ExecStart=/etc/rc.local
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
cat /etc/rc.local
#!/bin/bash
#Delete old NetworkManager Connections
nmcli connection delete local
nmcli connection delete local-nas
#NetworkManager forward IPv4&IPv6 to Laptop
nmcli connection add type ethernet ifname enp6s0 ipv4.method shared con-name local
nmcli connection modify local ipv6.method shared
nmcli c mod enp2s0 ipv6.token ::deca:fbad:c0:ffee
#NetworkManager forward IPv4 to NAS
nmcli connection add type ethernet ifname enp5s0 ipv4.method shared con-name local-nas
nmcli connection modify local-nas ipv6.method shared
#Forward Internet to Laptop with Iptables
sysctl net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o enp2s0 -j MASQUERADE
iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i enp6s0 -o enp2s0 -j ACCEPT
iptables -A FORWARD -i enp5so -o enp2s0 -j ACCEPT
#Loopback for fastcg/php-fpm
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
#Iptables rules for speedtesting.it
iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 443 -j ACCEPT
#Iptables rules for rsync
iptables -A INPUT -m state --state NEW -p tcp --dport 873 -j ACCEPT
iptables -A INPUT -m state --state NEW -p udp --dport 873 -j ACCEPT
ip6tables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
ip6tables -A INPUT -m state --state NEW -p tcp --dport 443 -j ACCEPT
#Iptabels rules for mopidy
iptables -A INPUT -m state --state NEW -p tcp --dport 6680 -j ACCEPT
ip6tables -A INPUT -m state --state NEW -p tcp --dport 6680 -j ACCEPT
#Docker ipv6
ip6tables -t nat -A POSTROUTING -s fd00::/80 ! -o docker0 -j MASQUERADE
#Rights for Certbot Let's Encrypt Floder
chgrp -R ssl-cert /etc/letsencrypt
chmod -R 2755 /etc/letsencrypt
sudo journalctl -xeu rc-local.service
░░ Subject: Unit process exited
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ An ExecStart= process belonging to unit rc-local.service has exited.
░░
░░ The process' exit code is 'exited' and its exit status is 1.
Oct 02 19:30:24 5erver systemd[1]: rc-local.service: Failed with result 'exit-code'.
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ The unit rc-local.service has entered the 'failed' state with result 'exit-code'.
Oct 02 19:30:24 5erver systemd[1]: Failed to start Boot up Network.
░░ Subject: A start job for unit rc-local.service has failed
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ A start job for unit rc-local.service has finished with a failure.
░░
░░ The job identifier is 2368 and the job result is failed.
Oct 02 19:31:40 5erver systemd[1]: Starting Boot up Network...
░░ Subject: A start job for unit rc-local.service has begun execution
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ A start job for unit rc-local.service has begun execution.
░░
░░ The job identifier is 2613.
Oct 02 19:31:40 5erver rc.local[18640]: Verbindung »local« (a8f8e340-78eb-4a38-b97f-3260adfaf17e) erfolgreich gelöscht.
Oct 02 19:31:40 5erver rc.local[18645]: Verbindung »local-nas« (574e15a5-cb1e-4814-a2da-d4aa45e8dd89) erfolgreich gelöscht.
Oct 02 19:31:40 5erver rc.local[18659]: Verbindung »local« (36b17a0a-6188-41ca-8c77-c32de52ccaec) erfolgreich hinzugefügt.
Oct 02 19:31:40 5erver rc.local[18685]: Verbindung »local-nas« (09de7f0f-c809-4ff4-b3b7-fc95f9bbc296) erfolgreich hinzugefügt.
Oct 02 19:31:40 5erver rc.local[18693]: net.ipv4.ip_forward = 1
Oct 02 19:31:40 5erver systemd[1]: rc-local.service: Main process exited, code=exited, status=1/FAILURE
░░ Subject: Unit process exited
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ An ExecStart= process belonging to unit rc-local.service has exited.
░░
░░ The process' exit code is 'exited' and its exit status is 1.
Oct 02 19:31:40 5erver systemd[1]: rc-local.service: Failed with result 'exit-code'.
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ The unit rc-local.service has entered the 'failed' state with result 'exit-code'.
Oct 02 19:31:40 5erver systemd[1]: Failed to start Boot up Network.
░░ Subject: A start job for unit rc-local.service has failed
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ A start job for unit rc-local.service has finished with a failure.
░░
░░ The job identifier is 2613 and the job result is failed.
What is wrong?
Offline
The tailing commands fail (ie. chmod fails. possibly chown - possibly iptables but that gets increasinly unlikely)
#!/bin/bash
echo foo
true
echo bar
false
#!/bin/bash
echo foo
false
echo bar
true
Edit: check "echo $?" after running those scripts.
You could "exit 0" but I guess rather want to invesitigate why chmod/chown fail (missing file?)
Last edited by seth (2021-10-02 20:38:03)
Offline
The tailing commands fail (ie. chmod fails. possibly chown - possibly iptables but that gets increasinly unlikely)
#!/bin/bash echo foo true echo bar false
#!/bin/bash echo foo false echo bar true
Edit: check "echo $?" after running those scripts.
You could "exit 0" but I guess rather want to invesitigate why chmod/chown fail (missing file?)
I can execute rc.local with sudo bash /etc/rc.local and get no error. I will add echo $ to be shure that shows me exit 0.
The other two scripts i run as service and look that shows me exit 0 on boot up?
Offline
The script could fail early on because the file is not *yet* there or for other reasons.
You could append "|| echo $LINENO" to every command in the script to get an idea what fails, but since it has to be at the tail, it's gonna be around the /etc/letsencrypt altering calls.
Offline
How up to date are you? There was a bug in coreutils 9.0-1 that lead to chmod having a wrong exit code under certain recursive adjustments (... iirc if the recursed dir contained symlinks) should be fixed in 9.0-2
Offline
How up to date are you? There was a bug in coreutils 9.0-1 that lead to chmod having a wrong exit code under certain recursive adjustments (... iirc if the recursed dir contained symlinks) should be fixed in 9.0-2
I have now updated coreutils and will watch after a reboot if the script is working again.
Thanks for the input!
Offline