User Tools

Site Tools


infra:serveurs:sonic

Sonic : services internet FUZ

sonic est un serveur qui a beaucoup souffert. Né dans le lieu précédent (rue de la Réunion), ce serveur a servi un peu à tout : partage de connexion internet, serveur mail et mailing lists, serveur web, serveur MPD, …

Depuis, beaucoup de choses ont changé : ce serveur ne fait quasiment plus que serveur MPD.

  • Localisation : local du FUZ, paillasse centrale, colonne de gauche, celui du dessus :-)
  • CPU:
  • RAM:
  • HDD:
  • Connexion : au routeur/switch du FUZ
  • IP/DNS: 192.168.1.20 (fixé dans la Freebox) / sonic

Installation initiale

Cette section décrit l'installation initiale.

Roadmap

  • Arrivée de la fibre
  • Test pour se passer de la livebox
  • installation du serveur (base sonicemotion)
  • Upgrade vers Debian 11 Bullseye
  • Fix le RDNS sonic.fuz.re qui pointe toujours rue de la Réunion

Installation

  1. Installation debian stretch (amd64)
  2. Ajout des paquets ppp vlan (et vim bash-completion etc)
  3. Ajout du fichier /etc/udev/rules.d/70-persistent-net.rules pour avoir des noms de périphérique réseau compréhensibles :
    # Port du haut
    SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:25:90:3b:e5:b2", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="*", NAME="wan0"
    # Port du bas
    SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:25:90:3b:e5:b3", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="*", NAME="lan0"
  4. Ajout du chargement automatique du module vlan au démarrage :
    # /etc/modules: kernel modules to load at boot time. 
    # 
    # This file contains the names of kernel modules that should be loaded 
    # at boot time, one per line. Lines beginning with "#" are ignored. 
    8021q
  5. Ajout du fichier /etc/ppp/peers/orange qui définit la connexion à établir :
    user "fti/******"
    
    pty "/usr/sbin/pppoe -I wan0.835 -T 80 -m 1452"
    noipdefault
    defaultroute
    hide-password
    replacedefaultroute
    persist
    noauth
    usepeerdns
    lcp-echo-interval 20
    lcp-echo-failure 3
    plugin rp-pppoe.so wan0.835
    default-asyncmap
    noaccomp
    mtu 1492

    et la ligne avec le mot de passe correspondant au login utilisé dans /etc/ppp/pap-secrets et chap-secrets

  6. Configuration du réseau dans /etc/network/interfaces
    auto wan0 wan0.835 ppp0 lan0
    
    iface wan0 inet manual
    iface wan0.835 inet manual
    
    iface ppp0 inet ppp
    	provider orange
    
    iface lan0 inet static
    	address 192.168.42.1/24
  7. Ajout des règles netfilter dans un fichier /etc/netfilter.sh
    #!/bin/bash
     
    echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts		#Drop ICMP echo-request messages sent to broadcast or multicast addresses 
    echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route	#Drop source routed packets
    echo 1 > /proc/sys/net/ipv4/tcp_syncookies			# Enable TCP SYN cookie protection from SYN floods
    echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects		# Don't accept ICMP redirect messages
    echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects		# Don't send ICMP redirect messages
    echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter			# Enable source address spoofing protection
    echo 1 > /proc/sys/net/ipv4/conf/all/log_martians		# Log packets with impossible source addresses
     
    # Flush all chains
    iptables --flush
    ip6tables --flush
    # stop routing
    echo 0 > /proc/sys/net/ipv4/ip_forward
    # Flush
    iptables -F 
    iptables -t nat -F
     
    OUT="ppp0"
    echo "Utilisation de $OUT"
     
    # Allow unlimited traffic on the loopback interface
    /sbin/iptables -A INPUT -i lo -j ACCEPT
    /sbin/iptables -A OUTPUT -o lo -j ACCEPT
     
    # Accepte les paquets des sessions deja etablies
    /sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    # Allow unlimited outbound traffic
    /sbin/iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
    /sbin/iptables -A FORWARD -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
     
     
     
    # Disallow NEW and INVALID incoming or forwarded packets from $OUT.
    iptables -A INPUT -i $OUT -m state --state NEW,INVALID -j DROP
     
    iptables -t nat -A POSTROUTING -o $OUT -j MASQUERADE
    iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
    # Turn on IP forwarding
    echo 1 > /proc/sys/net/ipv4/ip_forward

    Sans oublier de le rendre exécutable chmod a+x /etc/netfilter.sh

  8. Configurer le serveur DHCP /etc/dhcp/dhcpd.conf :
    option domain-name "fuz.re";
    Option domain-name-servers 80.67.169.12, 80.67.169.40; # https://www.fdn.fr/actions/dns/
    
    ## LAN0
    subnet 192.168.42.0 netmask 255.255.255.0 {
            range 192.168.42.42 192.168.42.254;
            option subnet-mask 255.255.255.0;
            option broadcast-address 192.168.42.255;
            option routers 192.168.42.1;
    }

Relancer tout !

À suivre : configuration exim4/mailman/lighttpd/let'encrypt/…

infra/serveurs/sonic.txt · Last modified: 2023-11-08 21:41 by ToM