Systemd: start/stop service based on networking connectivity
up vote
1
down vote
favorite
I've been using a VPN heavily recently and would like openvpn
to intuitively connect and disconnect based on whether I'm connected to Wi-Fi (or ethernet). Currently, I have a client.conf
in /etc/openvpn/
and I'm starting it with $ systemctl start openvpn@client
. The problem with this is openvpn continuously attempts to connect to the vpn server even after Wi-Fi is disconnected.
I think systemd
is the solution but the documentation and SE answers I've found so far are overwhelming. Can someone offer a simple systemd service template for accomplishing this?
linux debian ubuntu systemd openvpn
add a comment |
up vote
1
down vote
favorite
I've been using a VPN heavily recently and would like openvpn
to intuitively connect and disconnect based on whether I'm connected to Wi-Fi (or ethernet). Currently, I have a client.conf
in /etc/openvpn/
and I'm starting it with $ systemctl start openvpn@client
. The problem with this is openvpn continuously attempts to connect to the vpn server even after Wi-Fi is disconnected.
I think systemd
is the solution but the documentation and SE answers I've found so far are overwhelming. Can someone offer a simple systemd service template for accomplishing this?
linux debian ubuntu systemd openvpn
1
Do you use NetworkManager to manage your network connections (Wi-Fi, ethernet)? If so, then using NetworkManager dispatcher scripts is the way to go for reacting to events involving network connectivity... Let me know if you're using NetworkManager (please update your answer to state that) and I can try to add an answer that's appropriate for it.
– Filipe Brandenburger
Nov 24 at 15:11
Since you're using systemd, it's fully possible to create a service script that triggers when a connection is made. Just make sure it'safter=network-online.target
. A good read can be found here: askubuntu.com/a/919059. Or this post: unix.stackexchange.com/questions/126009/…. The only thing you have to make sure, is that you connect your wifi/ethernet withsystemd-networkd
as well, it makes it a hell of a lot easier to chain the dependencies.
– Torxed
Nov 24 at 15:19
add a comment |
up vote
1
down vote
favorite
up vote
1
down vote
favorite
I've been using a VPN heavily recently and would like openvpn
to intuitively connect and disconnect based on whether I'm connected to Wi-Fi (or ethernet). Currently, I have a client.conf
in /etc/openvpn/
and I'm starting it with $ systemctl start openvpn@client
. The problem with this is openvpn continuously attempts to connect to the vpn server even after Wi-Fi is disconnected.
I think systemd
is the solution but the documentation and SE answers I've found so far are overwhelming. Can someone offer a simple systemd service template for accomplishing this?
linux debian ubuntu systemd openvpn
I've been using a VPN heavily recently and would like openvpn
to intuitively connect and disconnect based on whether I'm connected to Wi-Fi (or ethernet). Currently, I have a client.conf
in /etc/openvpn/
and I'm starting it with $ systemctl start openvpn@client
. The problem with this is openvpn continuously attempts to connect to the vpn server even after Wi-Fi is disconnected.
I think systemd
is the solution but the documentation and SE answers I've found so far are overwhelming. Can someone offer a simple systemd service template for accomplishing this?
linux debian ubuntu systemd openvpn
linux debian ubuntu systemd openvpn
asked Nov 23 at 22:48
user322541
61
61
1
Do you use NetworkManager to manage your network connections (Wi-Fi, ethernet)? If so, then using NetworkManager dispatcher scripts is the way to go for reacting to events involving network connectivity... Let me know if you're using NetworkManager (please update your answer to state that) and I can try to add an answer that's appropriate for it.
– Filipe Brandenburger
Nov 24 at 15:11
Since you're using systemd, it's fully possible to create a service script that triggers when a connection is made. Just make sure it'safter=network-online.target
. A good read can be found here: askubuntu.com/a/919059. Or this post: unix.stackexchange.com/questions/126009/…. The only thing you have to make sure, is that you connect your wifi/ethernet withsystemd-networkd
as well, it makes it a hell of a lot easier to chain the dependencies.
– Torxed
Nov 24 at 15:19
add a comment |
1
Do you use NetworkManager to manage your network connections (Wi-Fi, ethernet)? If so, then using NetworkManager dispatcher scripts is the way to go for reacting to events involving network connectivity... Let me know if you're using NetworkManager (please update your answer to state that) and I can try to add an answer that's appropriate for it.
– Filipe Brandenburger
Nov 24 at 15:11
Since you're using systemd, it's fully possible to create a service script that triggers when a connection is made. Just make sure it'safter=network-online.target
. A good read can be found here: askubuntu.com/a/919059. Or this post: unix.stackexchange.com/questions/126009/…. The only thing you have to make sure, is that you connect your wifi/ethernet withsystemd-networkd
as well, it makes it a hell of a lot easier to chain the dependencies.
– Torxed
Nov 24 at 15:19
1
1
Do you use NetworkManager to manage your network connections (Wi-Fi, ethernet)? If so, then using NetworkManager dispatcher scripts is the way to go for reacting to events involving network connectivity... Let me know if you're using NetworkManager (please update your answer to state that) and I can try to add an answer that's appropriate for it.
– Filipe Brandenburger
Nov 24 at 15:11
Do you use NetworkManager to manage your network connections (Wi-Fi, ethernet)? If so, then using NetworkManager dispatcher scripts is the way to go for reacting to events involving network connectivity... Let me know if you're using NetworkManager (please update your answer to state that) and I can try to add an answer that's appropriate for it.
– Filipe Brandenburger
Nov 24 at 15:11
Since you're using systemd, it's fully possible to create a service script that triggers when a connection is made. Just make sure it's
after=network-online.target
. A good read can be found here: askubuntu.com/a/919059. Or this post: unix.stackexchange.com/questions/126009/…. The only thing you have to make sure, is that you connect your wifi/ethernet with systemd-networkd
as well, it makes it a hell of a lot easier to chain the dependencies.– Torxed
Nov 24 at 15:19
Since you're using systemd, it's fully possible to create a service script that triggers when a connection is made. Just make sure it's
after=network-online.target
. A good read can be found here: askubuntu.com/a/919059. Or this post: unix.stackexchange.com/questions/126009/…. The only thing you have to make sure, is that you connect your wifi/ethernet with systemd-networkd
as well, it makes it a hell of a lot easier to chain the dependencies.– Torxed
Nov 24 at 15:19
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Unix & Linux Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f483792%2fsystemd-start-stop-service-based-on-networking-connectivity%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
Do you use NetworkManager to manage your network connections (Wi-Fi, ethernet)? If so, then using NetworkManager dispatcher scripts is the way to go for reacting to events involving network connectivity... Let me know if you're using NetworkManager (please update your answer to state that) and I can try to add an answer that's appropriate for it.
– Filipe Brandenburger
Nov 24 at 15:11
Since you're using systemd, it's fully possible to create a service script that triggers when a connection is made. Just make sure it's
after=network-online.target
. A good read can be found here: askubuntu.com/a/919059. Or this post: unix.stackexchange.com/questions/126009/…. The only thing you have to make sure, is that you connect your wifi/ethernet withsystemd-networkd
as well, it makes it a hell of a lot easier to chain the dependencies.– Torxed
Nov 24 at 15:19