Index
message 1 : Lien direct
message 2 : Lien direct
message 3 : Lien direct
message 4 : Lien direct
message 5 : Lien direct
But
Installer debian 10 et un client torrent avec vpn dessus.
Préambule
Voici un tutoriel pas à pas pour installer rtorrent + rutorrent sur debian 10. Dessus sera mis un vpn qui officiera seulement pour le client torrent. Le reste des connexions passera directement via le serveur.
J'espère passer à docker pour le prochain tuto de ce genre mais au moins on sait comment ça fonctionne sous le capot.
Démarrage de la machine
Bon ba on va installer une machine sous debian 10.
On prends une machine chez ovh - kimsufi : https://www.kimsufi.com/fr/.
Une fois reçu la machine on installe debian 10 via le panneau d'administration de kimsufi.
On va recevoir un mail qui nous donne un lien pour obtenir l'accès à la machine.
On se connecte en ssh depuis un terminal :
Vous renseignez le mot de passe fournit par kimsufi dans l'email.
Et une fois connecté, on commence par changer ce mot de passe :
On vérifie qu'on a bien les dépôt contrib et non-free de mis :
Il faut ajouter "contrib non-free" en fin de chaque ligne si pas présent.
Example :
On met à jour le système :
Si vous avez le message :
On installe nano au besoin :
On change le port ssh :
A la ligne Port, on décommente en enlevant le dièse en début de ligne et on spécifie le port qu'on veut utiliser :
On redémarre le service :
Mise en place de sécurité
Porsentry
On installe portsentry :
On répond oui avec la touche "Entrée" sur la pop-up d'un ancien temps qui nous informe de blabla.
On le configure :
On édite les lignes suivantes, soit en changeant une valeur, soit en décomentant en enlevant le dièse en début de ligne si présent :
Cela sert respectivement à :
On redémarre le service :
Iptables
On installe iptables :
On crée le fichier de configuration :
Contenu à coller :
On copie ce fichier dans "init.d"
On rend le fichier exécutable :
On le met à exécution à chaque démarrage de la machine :
On peut mettre les règles en application :
Pour afficher les règles iptables en cours :
On peut supprimer le premier fichier :
Fail2ban
On installe fail2ban :
On change un ti truc :
Et ajouter à la suite de Fail2Ban dans les sujets ce que vous voulez comme titre significatif. Utile si vous avez plusieurs machines.
Example :
On dit à Fail2Ban de se lancer une fois les règles iptables en place :
On change la ligne suivante :
On va configurer fail2ban
Source : https://doc.ubuntu-fr.org/fail2ban (archive : https://archive.is/eZgI4)
On crée donc le fichier suivant :
Dedans on met :
/!\ Attention ! Si vous vous bannissez avec une durée de 120 s et que vous passez ensuite à 86400 s vous vous taperez le ban de 1 jour. faut faire la modif le lendemain. /!\
On peut relancer Fail2Ban :
Mail
Sources : https://wiki.debian.org/nullmailer (archive : https://archive.is/j0y2I)
http://troubleshooters.com/linux/nullmailer/(archive : https://archive.vn/Ye9BM)
On installe de quoi envoyer des mails pour recevoir des alertes
On fait OK sur les pop-ups, on va modifier après.
Puis on fait :
Exemple gmail :
Pour gandi et non gmail : https://docs.gandi.net/fr/gandimail/conf...index.html
Dans ce cas, vous avez acheté un nom de domaine et associé une boite mail à ce dernier : https://www.gandi.net/fr/domain/email
Ce qui donne :
Puis on modifie le fichier suivant et dedans on met l'isp qui transmet notre mail, dans le cas présent "gmail.com" ou "gandi.net"
Puis on met dans un autre fichier :
On relance nullmailer
On teste la config de ce mail :
J'ai eu le message d'avertissement suivant dans les logs mails
Dedans on met "gmail.com" ou "gandi.net".
Ou autre, comme pour le fichier "me" juste avant.
Et on backup le fichier me
Si soucis, pour débug vous pouvez regardez par là :
(ctrl+c pour en sortir)
ou :
Les mails en attente sont dans /var/spool/nullmailer/queue/ pour les supprimer :
Vous aurez peut être besoin de passer en root avec la commande "su".
Mise à jour automatique
On veux pas s'emmerder à se connecter en ssh pour mettre cette machine à jour, elle doit pouvoir tourner tranquillement toute seule :)
On installe cron-apt :
On ne va mettre automatiquement que les mises à jour de sécurité. Pour cela, il faut créer un nouveau fichier list qui ne contiendra que les dépôts de sécurité.
On copie puis on commente en mettant des dièses devant les lignes concernant les paquets de sécurité (y'a security dans l'url), exemple :
On crée un fichier pour copier ces lignes
Et on colle, exemple :
On configure donc maintenant cron pour qu'il installe tout seul les majs et nous envoie un recap :
dedans on ajoute :
On modifie ensuite un petit peu un autre fichier pour qu'il installe bien les mises à jour dispo :
et dedans on enlève le "-d" pour que la seconde ligne devienne :
Ensuite on va mettre tout bien sa fréquence pour qu'il se lance lorsqu'on le désire :
et on commente la ligne d'exemple (avec un #) et on ajoute en fin de document cette nouvelle ligne :
Vous pouvez faire un test en lançant la commande "sudo cron-apt" (peut prendre une ou deux minutes) et vous devriez recevoir directement le type de mail que vous aurez, du genre :
Note : Le temps d'attente des messages peut-être assez long, 30min à 1H lorsque c'est en mode auto via cron. Alors qu'en faisant un test avec "cron-apt", je recevais le mail dans la minute. Ne prenez donc pas peur si vous recevez pas tout de suite le mail après avoir mis la tâche cron toutes les deux minutes pour voir si ça marchait bien.
Si vous avez en fin de message un truc du genre :
Cela va supprimer les paquets dont on a plus l'utilité.
message 1 : Lien direct
- But
- Préambule
- Démarrage de la machine
- Mise en place de sécurité
- Porsentry
- Iptables
- Fail2ban
- Mail
- Mise à jour automatique
- Porsentry
message 2 : Lien direct
- Dépendances pour le client torrent
- Installation apache
- Ajout du https
- Installation php
- Installation apache
message 3 : Lien direct
- Installation du client torrent et son interface
- rtorrent
- rutorrent
- rtorrent
message 4 : Lien direct
- VPN
message 5 : Lien direct
- Accès web
- Mode rescue ovh
But
Installer debian 10 et un client torrent avec vpn dessus.
Préambule
Voici un tutoriel pas à pas pour installer rtorrent + rutorrent sur debian 10. Dessus sera mis un vpn qui officiera seulement pour le client torrent. Le reste des connexions passera directement via le serveur.
J'espère passer à docker pour le prochain tuto de ce genre mais au moins on sait comment ça fonctionne sous le capot.
Démarrage de la machine
Bon ba on va installer une machine sous debian 10.
On prends une machine chez ovh - kimsufi : https://www.kimsufi.com/fr/.
Une fois reçu la machine on installe debian 10 via le panneau d'administration de kimsufi.
On va recevoir un mail qui nous donne un lien pour obtenir l'accès à la machine.
On se connecte en ssh depuis un terminal :
Code :
sudo ssh debian@ip.de.la.machineEt une fois connecté, on commence par changer ce mot de passe :
Code :
passwdOn vérifie qu'on a bien les dépôt contrib et non-free de mis :
Code :
sudo nano /etc/apt/sources.listExample :
deb http://deb.debian.org/debian/ buster main contrib non-free
On met à jour le système :
Code :
sudo apt update
sudo apt upgradeSi vous avez le message :
Repository 'http://deb.debian.org/debian buster InRelease' changed its 'Version' value from '10.6' to '10.7'
Il faut faire :Code :
sudo apt-get dist-upgradeOn installe nano au besoin :
Code :
sudo apt install nanoOn change le port ssh :
Code :
sudo nano /etc/ssh/sshd_configA la ligne Port, on décommente en enlevant le dièse en début de ligne et on spécifie le port qu'on veut utiliser :
Port 2653
On redémarre le service :
Code :
sudo /etc/init.d/ssh restartMise en place de sécurité
Porsentry
On installe portsentry :
Code :
sudo apt install portsentryOn le configure :
Code :
sudo nano /etc/portsentry/portsentry.confOn édite les lignes suivantes, soit en changeant une valeur, soit en décomentant en enlevant le dièse en début de ligne si présent :
BLOCK_UDP="1"
BLOCK_TCP="1"
KILL_ROUTE="/sbin/route add -host $TARGET$ reject"
KILL_ROUTE="/sbin/iptables -I INPUT -s $TARGET$ -j DROP"
On peut rechercher les termes en majuscules en faisant ctrl+w une fois dans l'éditeur nano.BLOCK_TCP="1"
KILL_ROUTE="/sbin/route add -host $TARGET$ reject"
KILL_ROUTE="/sbin/iptables -I INPUT -s $TARGET$ -j DROP"
Cela sert respectivement à :
- blocage des ports UDP en cas de détection de scanne
- blocage des ports TCP en cas de détection de scanne
- blocage d’un scanne
- ajout de l’IP qui scanne dans iptables (pare-feu)
On redémarre le service :
Code :
sudo /etc/init.d/portsentry restartIptables
On installe iptables :
Code :
sudo apt install iptablesOn crée le fichier de configuration :
Code :
sudo nano "/home/${USER}/iptablesrules.sh"Contenu à coller :
#!/bin/sh
### BEGIN INIT INFO
# Provides: iptablesrules
# Required-Start: $remote_fs $syslog $network
# Required-Stop: $remote_fs $syslog $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Description: Base depuis IPtables Rules UpAndClear.org
### END INIT INFO
# Reinitialisation tables
iptables -t filter -F
iptables -t filter -X
# Blocage trafic entrant
iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
# Autorisation trafic sortant
iptables -t filter -P OUTPUT ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
#Activation routage
echo 1 > /proc/sys/net/ipv4/ip_forward
#Ne pas toucher au trafic entrant déjà autorisé
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Autorisation loopback
iptables -t filter -A INPUT -i lo -p all -j ACCEPT
# Autorisation ICMP (Ping)
iptables -t filter -A INPUT -p icmp -j ACCEPT
#Protection syn flood
iptables -A FORWARD -p tcp --syn -m limit --limit 1/second -j ACCEPT
iptables -A FORWARD -p udp -m limit --limit 1/second -j ACCEPT
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/second -j ACCEPT
#Protection scanne
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
#Autorisation SSH entrant
iptables -A INPUT -p tcp --dport 2653 -j ACCEPT
# Sauvegarder les regles pour qu elles soient chargees si reboot
iptables-save -c > /etc/iptables-save
Bien penser à changer le port dans la règle de "#Autorisation SSH entrant" pour celui que vous avez choisi (ici 2653).### BEGIN INIT INFO
# Provides: iptablesrules
# Required-Start: $remote_fs $syslog $network
# Required-Stop: $remote_fs $syslog $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Description: Base depuis IPtables Rules UpAndClear.org
### END INIT INFO
# Reinitialisation tables
iptables -t filter -F
iptables -t filter -X
# Blocage trafic entrant
iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
# Autorisation trafic sortant
iptables -t filter -P OUTPUT ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
#Activation routage
echo 1 > /proc/sys/net/ipv4/ip_forward
#Ne pas toucher au trafic entrant déjà autorisé
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Autorisation loopback
iptables -t filter -A INPUT -i lo -p all -j ACCEPT
# Autorisation ICMP (Ping)
iptables -t filter -A INPUT -p icmp -j ACCEPT
#Protection syn flood
iptables -A FORWARD -p tcp --syn -m limit --limit 1/second -j ACCEPT
iptables -A FORWARD -p udp -m limit --limit 1/second -j ACCEPT
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/second -j ACCEPT
#Protection scanne
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
#Autorisation SSH entrant
iptables -A INPUT -p tcp --dport 2653 -j ACCEPT
# Sauvegarder les regles pour qu elles soient chargees si reboot
iptables-save -c > /etc/iptables-save
On copie ce fichier dans "init.d"
Code :
sudo cp /home/${USER}/iptablesrules.sh /etc/init.d/iptablesrulesOn rend le fichier exécutable :
Code :
sudo chmod +x /etc/init.d/iptablesrulesOn le met à exécution à chaque démarrage de la machine :
Code :
sudo update-rc.d iptablesrules defaultsOn peut mettre les règles en application :
Code :
sudo /etc/init.d/iptablesrulesPour afficher les règles iptables en cours :
Code :
sudo iptables -LOn peut supprimer le premier fichier :
Code :
sudo rm -f /home/${USER}/iptablesrules.shFail2ban
On installe fail2ban :
Code :
sudo apt install fail2banOn change un ti truc :
Code :
sudo nano /etc/fail2ban/action.d/sendmail-whois-lines.confExample :
actionban = ( printf %%b "Subject: [Fail2Ban-Serveur1] <name>: banned <ip> from <fq-hostname>
On dit à Fail2Ban de se lancer une fois les règles iptables en place :
Code :
sudo nano /etc/init.d/fail2ban# Required-Start: $local_fs $remote_fs $iptablesrules
On a ajouté "$iptablesrules" en fin de ligne.On va configurer fail2ban
Source : https://doc.ubuntu-fr.org/fail2ban (archive : https://archive.is/eZgI4)
On crée donc le fichier suivant :
Code :
sudo nano /etc/fail2ban/jail.d/custom.confDedans on met :
[DEFAULT]
ignoreip = 127.0.0.1
findtime = 3600
bantime = 86400
maxretry = 3
destemail = adresse@example.com
sender = mon_email@monisp.tld
action = %(action_mwl)s
[sshd]
enabled = true
port = 2653
logpath = /var/log/auth.log
maxretry = 5
ignoreip = 127.0.0.1
findtime = 3600
bantime = 86400
maxretry = 3
destemail = adresse@example.com
sender = mon_email@monisp.tld
action = %(action_mwl)s
[sshd]
enabled = true
port = 2653
logpath = /var/log/auth.log
maxretry = 5
- Vous pouvez ajouter votre propre ip pour ne jamais être banni : 127.0.0.1, mon.ip.pas.banni
- Mettez le bon port ssh (ici 2653)
- adresse@example.com : l'adresse email qui va recevoir les notifications
- mon_email@monisp.tld : l'adresse mail qui va transmettre les messages, on la configure juste en dessous. Il s'agit de votre boite mail chez votre fournisseur gmail ou gandi ici.
/!\ Attention ! Si vous vous bannissez avec une durée de 120 s et que vous passez ensuite à 86400 s vous vous taperez le ban de 1 jour. faut faire la modif le lendemain. /!\
On peut relancer Fail2Ban :
Code :
sudo /etc/init.d/fail2ban restartSources : https://wiki.debian.org/nullmailer (archive : https://archive.is/j0y2I)
http://troubleshooters.com/linux/nullmailer/(archive : https://archive.vn/Ye9BM)
On installe de quoi envoyer des mails pour recevoir des alertes
Code :
sudo apt-get install nullmailer mailutilsPuis on fait :
Code :
sudo sh -c "echo $(hostname --fqdn) > /etc/nullmailer/defaultdomain"
sudo sh -c "echo 'adresse@example.com' > /etc/nullmailer/adminaddr"
sudo sh -c "echo 'URLsmtp.monisp.tld smtp --auth-login --port=587 --starttls --user=mon_email@monisp.tld --pass=your-password --starttls' > /etc/nullmailer/remotes"
sudo chmod 600 /etc/nullmailer/remotes- defaultdomain - contient le hostname de la machine
- adminaddr - contient l'email du destinataire des mails
- remotes - contient la configuration email de la boite mail faisant passerelle
- on restreint les droits d'accès au fichier remotes qui contient donc nos identifiants mail
Exemple gmail :
sudo sh -c "echo 'smtp.gmail.com smtp --auth-login --port=587 --starttls --user=unmailquiestdispo@gmail.com --pass=UnMotDePasseDeLaMort666! --starttls' > /etc/nullmailer/remotes"
Pour gandi et non gmail : https://docs.gandi.net/fr/gandimail/conf...index.html
Dans ce cas, vous avez acheté un nom de domaine et associé une boite mail à ce dernier : https://www.gandi.net/fr/domain/email
Ce qui donne :
sudo sh -c "echo 'mail.gandi.net smtp --auth-login --port=587 --starttls --user=mon_email@mondomain.tld --pass=UnMotDePasseDeLaMort666! --starttls' > /etc/nullmailer/remotes"
Puis on modifie le fichier suivant et dedans on met l'isp qui transmet notre mail, dans le cas présent "gmail.com" ou "gandi.net"
Code :
sudo nano /etc/nullmailer/mePuis on met dans un autre fichier :
Code :
sudo sh -c "echo $(hostname --fqdn) > /etc/nullmailer/defaulthost"On relance nullmailer
Code :
sudo /etc/init.d/nullmailer restartOn teste la config de ce mail :
Code :
echo "error" | NULLMAILER_NAME="Testsytem check" mail -s "This is just a test with nullmailer" "adresse@example.com"J'ai eu le message d'avertissement suivant dans les logs mails
On Debian systems, nullmailer's 'me' is disregarded; please use '/etc/mailname' instead.
Donc on modif :Code :
sudo nano /etc/mailnameOu autre, comme pour le fichier "me" juste avant.
Et on backup le fichier me
Code :
sudo mv /etc/nullmailer/me /etc/nullmailer/me.backSi soucis, pour débug vous pouvez regardez par là :
Code :
sudo tail -f /var/log/mail.log /var/log/mail.errou :
Code :
sudo tail -n 30 /var/log/syslogLes mails en attente sont dans /var/spool/nullmailer/queue/ pour les supprimer :
Code :
sudo rm -f /var/spool/nullmailer/queue/*Mise à jour automatique
On veux pas s'emmerder à se connecter en ssh pour mettre cette machine à jour, elle doit pouvoir tourner tranquillement toute seule :)
On installe cron-apt :
Code :
sudo apt install cron-aptOn ne va mettre automatiquement que les mises à jour de sécurité. Pour cela, il faut créer un nouveau fichier list qui ne contiendra que les dépôts de sécurité.
Code :
sudo nano /etc/apt/sources.listOn copie puis on commente en mettant des dièses devant les lignes concernant les paquets de sécurité (y'a security dans l'url), exemple :
#deb http://security.debian.org/debian-security buster/updates main contrib non-free
#deb-src http://security.debian.org/debian-security buster/updates main contrib non-free
#deb-src http://security.debian.org/debian-security buster/updates main contrib non-free
On crée un fichier pour copier ces lignes
Code :
sudo nano /etc/apt/sources.list.d/security.listEt on colle, exemple :
deb http://security.debian.org/debian-security buster/updates main contrib non-free
deb-src http://security.debian.org/debian-security buster/updates main contrib non-free
deb-src http://security.debian.org/debian-security buster/updates main contrib non-free
On configure donc maintenant cron pour qu'il installe tout seul les majs et nous envoie un recap :
Code :
sudo nano /etc/cron-apt/configAPTCOMMAND=/usr/bin/apt-get
OPTIONS="-o quiet=1 -o Dir::Etc::SourceList=/etc/apt/sources.list.d/security.list"
MAILTO="adresse@example.com"
MAILON="always"
(vous modifiez le mail hein °°)OPTIONS="-o quiet=1 -o Dir::Etc::SourceList=/etc/apt/sources.list.d/security.list"
MAILTO="adresse@example.com"
MAILON="always"
On modifie ensuite un petit peu un autre fichier pour qu'il installe bien les mises à jour dispo :
Code :
sudo nano /etc/cron-apt/action.d/3-downloaddist-upgrade -y -o APT::Get::Show-Upgraded=true
Ensuite on va mettre tout bien sa fréquence pour qu'il se lance lorsqu'on le désire :
Code :
sudo nano /etc/cron.d/cron-apt#Mise a jour de securite
0 5 * * MON root /usr/sbin/cron-apt
La mise à jour se lancera tous les lundi à 5H du matin : https://crontab.guru/#0_5_*_*_MON0 5 * * MON root /usr/sbin/cron-apt
Vous pouvez faire un test en lançant la commande "sudo cron-apt" (peut prendre une ou deux minutes) et vous devriez recevoir directement le type de mail que vous aurez, du genre :
CRON-APT RUN [/etc/cron-apt/config]: Mon Sep 4 22:06:16 CEST 2017 CRON-APT ACTION: 0-update
CRON-APT LINE: /usr/bin/apt-get -o quiet=1 -o Dir::Etc::SourceList=/etc/apt/sources.list.d/security.list update -o quiet=2
CRON-APT ACTION: 3-download
CRON-APT LINE: /usr/bin/apt-get -o quiet=1 -o Dir::Etc::SourceList=/etc/apt/sources.list.d/security.list autoclean -y
Reading package lists...
Building dependency tree...
Reading state information...
Del nullmailer 1:1.13-1.2 [92.3 kB]
Del libperl5.24 5.24.1-3+deb9u1 [3524 kB]
Del perl-modules-5.24 5.24.1-3+deb9u1 [2723 kB]
Del sudo 1.8.19p1-2.1 [1055 kB]
Del perl 5.24.1-3+deb9u1 [219 kB]
Del libopts25 1:5.18.12-3 [68.0 kB]
Del ntp 1:4.2.8p10+dfsg-3 [556 kB]
Del cron-apt 0.10.0 [26.3 kB]
CRON-APT LINE: /usr/bin/apt-get -o quiet=1 -o Dir::Etc::SourceList=/etc/apt/sources.list.d/security.list dist-upgrade -y -o APT::Get::Show-Upgraded=true
Reading package lists...
Building dependency tree...
Reading state information...
Calculating upgrade...
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
CRON-APT LINE: /usr/bin/apt-get -o quiet=1 -o Dir::Etc::SourceList=/etc/apt/sources.list.d/security.list update -o quiet=2
CRON-APT ACTION: 3-download
CRON-APT LINE: /usr/bin/apt-get -o quiet=1 -o Dir::Etc::SourceList=/etc/apt/sources.list.d/security.list autoclean -y
Reading package lists...
Building dependency tree...
Reading state information...
Del nullmailer 1:1.13-1.2 [92.3 kB]
Del libperl5.24 5.24.1-3+deb9u1 [3524 kB]
Del perl-modules-5.24 5.24.1-3+deb9u1 [2723 kB]
Del sudo 1.8.19p1-2.1 [1055 kB]
Del perl 5.24.1-3+deb9u1 [219 kB]
Del libopts25 1:5.18.12-3 [68.0 kB]
Del ntp 1:4.2.8p10+dfsg-3 [556 kB]
Del cron-apt 0.10.0 [26.3 kB]
CRON-APT LINE: /usr/bin/apt-get -o quiet=1 -o Dir::Etc::SourceList=/etc/apt/sources.list.d/security.list dist-upgrade -y -o APT::Get::Show-Upgraded=true
Reading package lists...
Building dependency tree...
Reading state information...
Calculating upgrade...
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Note : Le temps d'attente des messages peut-être assez long, 30min à 1H lorsque c'est en mode auto via cron. Alors qu'en faisant un test avec "cron-apt", je recevais le mail dans la minute. Ne prenez donc pas peur si vous recevez pas tout de suite le mail après avoir mis la tâche cron toutes les deux minutes pour voir si ça marchait bien.
Si vous avez en fin de message un truc du genre :
The following packages were automatically installed and are no longer required:
libevent-2.1-6 libgnutls-dane0 libunbound8
Vous pouvez vous connecter en ssh à la machine et lancer la commande :libevent-2.1-6 libgnutls-dane0 libunbound8
Code :
sudo apt autoremove
![[Image: chat-moche-27c1d17.gif]](http://img62.xooimage.com/files/b/3/2/chat-moche-27c1d17.gif)
![[Image: 4yi3an10-3858b7.gif]](http://img7.xooimage.com/files/6/6/1/4yi3an10-3858b7.gif)










