mirror of
https://github.com/SqrtMinusOne/dotfiles.git
synced 2025-12-11 11:43:03 +03:00
25 lines
962 B
Bash
Executable file
25 lines
962 B
Bash
Executable file
#!/usr/bin/env bash
|
|
# [[file:../../Guix.org::*vpn-start][vpn-start:1]]
|
|
CONN=$(nmcli -f NAME con show --active | grep -Ev "(.*docker.*|NAME)" | sed 's/ *$//g')
|
|
DEVICE=$(nmcli -f connection.interface-name con show "$CONN" | awk '{ print $2 }')
|
|
IP=$(ip addr show "$DEVICE" | awk 'match($0, /.*inet (addr:)?(([0-9]*\.){3}[0-9]*\/[0-9]*).*/, ga) { print ga[2] } ')
|
|
GATEWAY=$(ip route list | awk ' /^default/ {print $3}')
|
|
|
|
DNS_1=10.101.0.243
|
|
DNS_2=38.132.106.139
|
|
|
|
echo "Connection: $CONN"
|
|
echo "Device: $DEVICE"
|
|
echo "IP: $IP"
|
|
echo "Gateway: $GATEWAY"
|
|
|
|
nmcli con modify "$CONN" ipv4.addresses "${IP}"
|
|
nmcli con modify "$CONN" ipv4.gateway "${GATEWAY}"
|
|
nmcli con modify "$CONN" ipv4.method manual
|
|
nmcli con modify "$CONN" ipv4.ignore-auto-dns yes
|
|
nmcli con modify "$CONN" +ipv4.dns $DNS_1
|
|
nmcli con modify "$CONN" +ipv4.dns $DNS_2
|
|
nmcli con modify "$CONN" ipv6.method ignore
|
|
nmcli connection up "$CONN"
|
|
sudo openvpn --config ~/.vpn/openvpn.ovpn
|
|
# vpn-start:1 ends here
|