Zuletzt aktiv 3 weeks ago

vorpax hat die Gist bearbeitet 3 weeks ago. Zu Änderung gehen

1 file changed, 10 insertions

install-stepcli.sh(Datei erstellt)

@@ -0,0 +1,10 @@
1 + apt-get update && apt-get install -y --no-install-recommends curl gpg ca-certificates
2 + curl -fsSL https://packages.smallstep.com/keys/apt/repo-signing-key.gpg -o /etc/apt/keyrings/smallstep.asc
3 + cat << EOF > /etc/apt/sources.list.d/smallstep.sources
4 + Types: deb
5 + URIs: https://packages.smallstep.com/stable/debian
6 + Suites: debs
7 + Components: main
8 + Signed-By: /etc/apt/keyrings/smallstep.asc
9 + EOF
10 + apt-get update && apt-get -y install step-cli

vorpax hat die Gist bearbeitet 3 weeks ago. Zu Änderung gehen

3 files changed, 76 insertions

interface.sh(Datei erstellt)

@@ -0,0 +1,28 @@
1 + #!bin/zsh
2 +
3 + configure_interfaces() {
4 + log_info "Configuration via /etc/network/interfaces"
5 +
6 + cp /etc/network/interfaces /etc/network/interfaces.$(date +%s).bkp
7 +
8 + # Ajouter DNS si absent
9 + if ! grep -q "dns-nameservers" /etc/network/interfaces; then
10 + # Trouver l'interface principale
11 + main_iface=$(ip route | grep default | awk '{print $5}' | head -n1)
12 +
13 + if [[ -n $main_iface ]]; then
14 + DNS_JOIN="${DNS_SERVERS[*]}"
15 + # Ajouter après l'interface
16 + sed -i "/iface ${main_iface}/a \ dns-search ${SEARCH_DOMAIN}" /etc/network/interfaces
17 + sed -i "/iface ${main_iface}/a \ dns-nameservers ${DNS_JOIN}" /etc/network/interfaces
18 + fi
19 + else
20 + DNS_JOIN="${DNS_SERVERS[*]}"
21 + sed -i "s/dns-nameservers.*/dns-nameservers ${DNS_JOIN}/" /etc/network/interfaces
22 + sed -i "s/dns-search.*/dns-search ${SEARCH_DOMAIN}/" /etc/network/interfaces
23 + fi
24 +
25 + systemctl restart networking
26 +
27 + log_info "/etc/network/interfaces configuré"
28 + }

resolved.sh(Datei erstellt)

@@ -0,0 +1,29 @@
1 + #!bin/zsh
2 +
3 + configure_systemd_resolved() {
4 + log_info "Configuration via systemd-resolved"
5 +
6 + # Créer le drop-in directory
7 + mkdir -p /etc/systemd/resolved.conf.d/
8 +
9 + # Écrire la config
10 + cat > /etc/systemd/resolved.conf.d/dns.conf <<EOF
11 + [Resolve]
12 + DNS=${DNS_SERVERS[@]}
13 + FallbackDNS=1.1.1.1 8.8.8.8
14 + Domains=${SEARCH_DOMAIN}
15 + DNSSEC=no
16 + DNSOverTLS=no
17 + EOF
18 +
19 + # Restart service
20 + systemctl restart systemd-resolved
21 +
22 + if [[ ! -L /etc/resolv.conf ]]; then
23 + log_warn "/etc/resolv.conf n'est pas un symlink, correction..."
24 + rm -f /etc/resolv.conf
25 + ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
26 + fi
27 +
28 + log_info "systemd-resolved configuré"
29 + }

static.sh(Datei erstellt)

@@ -0,0 +1,19 @@
1 + configure_static() {
2 + log_warn "Aucun gestionnaire détecté, configuration statique"
3 +
4 + # Désactiver immutabilité si présente
5 + chattr -i /etc/resolv.conf 2>/dev/null || true
6 +
7 + cp /etc/resolv.conf /etc/resolv.conf.backup.$(date +%s)
8 +
9 + cat > /etc/resolv.conf <<EOF
10 + # Generated by custom DNS setup script
11 + search ${SEARCH_DOMAIN}
12 + $(for dns in "${DNS_SERVERS[@]}"; do echo "nameserver $dns"; done)
13 + EOF
14 +
15 + # Rendre immutable pour éviter l'écrasement
16 + chattr +i /etc/resolv.conf
17 +
18 + log_info "Configuration statique appliquée (fichier verrouillé)"
19 + }

vorpax hat die Gist bearbeitet 3 weeks ago. Zu Änderung gehen

1 file changed, 1 insertion

README.md(Datei erstellt)

@@ -0,0 +1 @@
1 + A tiny bash util to setup dns and ssh
Neuer Älter