Utoljára aktív 3 weeks ago

README.md Eredeti

A tiny bash util to setup dns and ssh

install-stepcli.sh Eredeti
1apt-get update && apt-get install -y --no-install-recommends curl gpg ca-certificates
2curl -fsSL https://packages.smallstep.com/keys/apt/repo-signing-key.gpg -o /etc/apt/keyrings/smallstep.asc
3cat << EOF > /etc/apt/sources.list.d/smallstep.sources
4Types: deb
5URIs: https://packages.smallstep.com/stable/debian
6Suites: debs
7Components: main
8Signed-By: /etc/apt/keyrings/smallstep.asc
9EOF
10apt-get update && apt-get -y install step-cli
11
interface.sh Eredeti
1#!bin/zsh
2
3configure_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 Eredeti
1#!bin/zsh
2
3configure_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]
12DNS=${DNS_SERVERS[@]}
13FallbackDNS=1.1.1.1 8.8.8.8
14Domains=${SEARCH_DOMAIN}
15DNSSEC=no
16DNSOverTLS=no
17EOF
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 Eredeti
1configure_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
11search ${SEARCH_DOMAIN}
12$(for dns in "${DNS_SERVERS[@]}"; do echo "nameserver $dns"; done)
13EOF
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}