Son aktivite 3 weeks ago

Revizyon 7e39d54d129ae15788de1d571fdab64d7e01d93a

README.md Ham

A tiny bash util to setup dns and ssh

interface.sh Ham
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 Ham
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 Ham
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}