Outils pour utilisateurs

Outils du site


technique:referentiel:chd-stg2

Serveur chd-stg2

Caractéristiques

  • Machine virtuelle (KVM amd64)
  • Debian 8

Roles

  • Utilitaires de gestion du réseau (AirControl, mise à jour routeur..)
  • DNS autoritaire pour les reverse DNS IPv6

Notes d'installation

Système / Réseau

# Parti d'une migration de la VM stg2.tetaneutral.net
# TODO : reprendre la doc du wiki TTN
 
apt-get autoremove --purge rpcbind nfs-common vim-tiny
apt-get install --purge nullmailer
# Donner chd.sx comme smarthost
 
# Permettre ping depuis www-data (et autres user simples)
setcap cap_net_raw+p /bin/ping
/etc/syslog.d/remote.conf
module(load="imudp")
input(type="imudp" port="514" ruleset="rs_remote")
template(name="t_remote_logfile" type="string" string="/var/log/remote/%fromhost-ip%.log")
ruleset(name="rs_remote") {
    action(type="omfile" dynaFile="t_remote_logfile" dynaFileCacheSize="400")
}

Serveur DNS (autorité pour reverse DNS)

ns2.chd.sx est un bind9 sur chd-stg2. Il y a une délégation de zone vers all-knowing-dns sur ns3.chd.sx (même machine) pour les IPv6.

http://all-knowing-dns.zekjur.net/

apt-get install bind9 all-knowing-dns
editor /etc/all-knowing-dns.conf
service all-knowing-dns restart
editor /etc/bind/{named.conf.options,named.conf.local,db.185.131.40,db.185.131.41}
editor /etc/bind/{db.2a03:a0a0::,db.2a03:a0a0:1::,db.2a03:a0a0::upstream,db.2a03:a0a0:1::upstream}
service bind9 restart

Requêtes d'essai :

$ dig +short 0.0.0.0.0.a.0.a.3.0.a.2.ip6.arpa. SOA
ns2.chd.sx. dnsmaster.chd.sx. 2016121101 10800 900 604800 10800
$ dig +short 0.0.0.0.0.a.0.a.3.0.a.2.ip6.arpa. NS
ns1.chd.sx. # bind slave
ns2.chd.sx. # bind master
$ dig +short 0.0.0.0.0.0.a.0.a.3.0.a.2.ip6.arpa. NS
ns3.chd.sx. # all-knowing-dns

$ dig +short 40.131.185.in-addr.arpa. SOA
ns2.chd.sx. dnsmaster.chd.sx. 2016121101 10800 900 604800 10800
$ dig +short 41.131.185.in-addr.arpa. SOA
ns2.chd.sx. dnsmaster.chd.sx. 2016121101 10800 900 604800 10800
$ dig +short 40.131.185.in-addr.arpa. NS
ns2.chd.sx.
ns1.chd.sx.

$ dig +short -x 2a03:a0a0::1
chd-stg1.chd.sx.
$ dig +short -x 2a03:a0a0::2
chd-stg2.chd.sx.
$ dig +short -x 2a03:a0a0::3
ipv6-000000000000000000000003.chd.sx.
$ dig +short -x 2a03:a0a0:0:8001:2f5:f0ff:fe40:71fe
ipv6-0000800102f5f0fffe4071fe.chd.sx.

$ dig +short -x 185.131.40.1
chd-stg1.chd.sx.
$ dig +short -x 185.131.40.2
chd-stg2.chd.sx.
$ dig +short -x 185.131.40.3
chd-stg2.chd.sx.
$ dig +short -x 185.131.40.4
$ dig +short -x 185.131.40.9
srv1.stg.prosoluce.net.
$ dig +short -x 185.131.40.10
backup3.stg.prosoluce.net.
$ dig +short -x 185.131.40.11
$ dig +short -x 185.131.40.33
ipv4-40-33.chd.sx.
$ dig +short -x 185.131.40.34
ipv4-40-34.chd.sx.
$ dig +short -x 185.131.40.254
ipv4-40-254.chd.sx.
$ dig +short -x 185.131.41.1
ipv4-41-1.chd.sx.
$ dig +short -x 185.131.41.2
ipv4-41-2.chd.sx.
$ dig +short -x 185.131.41.254
ipv4-41-254.chd.sx.

Mise à jour routeur

mkdir /root/git
cd /root/git
git clone ssh://root@chd.sx/var/git/chd_openwrt.git
cd /var/www
ln -s /root/git/chd_openwrt/maj
 
cd /usr/local/bin/
ln -s /root/git/chd_openwrt/build-openwrt-dev.sh
ln -s /root/git/chd_openwrt/build-openwrt.sh
 
cd /var/cache
mkdir build-openwrt build-openwrt-dev
chown www-data build-openwrt build-openwrt-dev
 
editor /etc/fstab
# Ajouter :
tmpfs		/var/cache/build-openwrt/build		tmpfs	uid=33,gid=33,mode=0750,size=512M	0	0
tmpfs		/var/cache/build-openwrt-dev/build	tmpfs	uid=33,gid=33,mode=0750,size=512M	0	0
mount -a # Vérifier que les deux tmpfs sont montés
  • Lancer via le web une première tentative de mise à jour en utilisant les dépôts officiels (sans la modification de repositories.conf dans build-openwrt-dev.sh donc)
  • Si tout fonctionne correctement, un fichier .bin est proposé au téléchargement après une bonne minute
  • Le log est dans /tmp/build-openwrt-dev.sh_*
  • Faire un cache local des paquets .ipk nécessaires (gagne du temps, des ressources et limite grandement les aléas de la disponibilité du serveur web d'en face) :
cd /root/git/chd_openwrt
./mirrorring-bare-minimum.sh
find /var/www/lede-project
# Doit lister environ 66 fichiers .ipk et quelques Packages.gz

Compilation OpenWRT pour ImageBuilder custom (obsolète avec LEDE)

apt-get install git-core build-essential libssl-dev libncurses5-dev unzip gawk subversion
mkdir /var/cache/buildroot-cc-wr740nv5
chown www-data: /var/cache/buildroot-cc-wr740nv5
cd /var/cache/buildroot-cc-wr740nv5
screen
sudo -u www-data bash
 
editor ~/.bashrc
# Ajouter : export PATH="/var/cache/buildroot-cc-wr740nv5/openwrt/staging_dir/host/bin:/var/cache/buildroot-cc-wr740nv5/openwrt/staging_dir/toolchain-<platform>-<gcc_ver>-<libc_ver>/bin:$PATH"
git clone https://git.openwrt.org/15.05/openwrt.git
cd openwrt/
git checkout 37e7a90e677eb5b5488c4a29f4bb90440cc4a0f1
./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig
# Target system : Atheros AR7xxx/AR9xxx
# Subtarget : Generic
# Target Profile : Default profile (all drivers)
# Target Images : squashfs
# Build the OpenWrt Image Builder
./scripts/diffconfig.sh > diffconfig
diffconfig
CONFIG_TARGET_ar71xx=y
CONFIG_TARGET_ar71xx_generic=y
CONFIG_TARGET_ar71xx_generic_Default=y
CONFIG_IB=y
CONFIG_IB_STANDALONE=y
# CONFIG_PACKAGE_kmod-nls-base is not set
# CONFIG_PACKAGE_kmod-usb-core is not set
# CONFIG_PACKAGE_kmod-usb-ohci is not set
# CONFIG_PACKAGE_kmod-usb2 is not set
# CONFIG_PACKAGE_uboot-ar71xx-nbg460n_550n_550nh is not set
make world

AirControl2

TODO : Détailler l'installation (par cyril)

Nettoyage base

Ajout d'une tâche cron à nous car c'est pas prévu et ces connards là stockent les métriques en pgsql et pas en rrd et n'agrègent jamais rien. Le vacuum full n'est vraiment pas optionnel.

(VM)root@chd-stg2:/etc/cron.d# cat aircontrol2

# cron-jobs for aircontrol 2
MAILTO=root
 
0 2 28 * *	root if [ -x /opt/Ubiquiti/AirControl2/cleanDB ]; then cd /opt/Ubiquiti/AirControl2; ./cleanDB -e 300 -t 300 -s 30 -v > /dev/null; echo "VACUUM FULL;" | sudo -u postgres psql ac2; fi
technique/referentiel/chd-stg2.txt · Dernière modification: 2018/03/12 16:33 par admin