Blue Flower

Mémo de commandes Linux

La commande hostnamectl

osboxes@ubuntu19-10PC1:~$ hostnamectl 
   Static hostname: ubuntu19-10PC1
   Pretty hostname: ubuntu19-10_PC1
         Icon name: computer-vm
           Chassis: vm
        Machine ID: af44956437ff4d9fba77c6e656cf730a
           Boot ID: f5231de30a884590afcd8916ccbfda46
    Virtualization: oracle
  Operating System: Ubuntu 19.10
            Kernel: Linux 5.3.0-46-generic
      Architecture: x86-64
osboxes@ubuntu19-10PC1:~$

Grep récursif

grep -r -i xx /etc/ssh => on recherche le terme xx dans tous les fichiers du répertoire /etc/ssh

Changer le hostname

sudo hostnamectl set-hostname <new_name> => modifie le fichier /etc/hostname
sudo vi /etc/hosts => mettre le nouveau nom
sudo reboot -h now

 

Sur ubuntu 19.10, le nouveau firewall est ufw, qui signifie Uncomplicated Firewall.

 

sudo ufw enable => active le firewall

sudo ufw disable => désactive le firewall

Ce statut est mémorisé dans le fichier /etc/ufw/ufw.conf.

De même, toute règle ajoutée en ligne de commande est sauvegardée dans le fichier /etc/ufw/user.rules.

 

Voir la configuration : ufw status

$sudo ufw status verbose
Status: active
Logging: on (low)
Default: allow (incoming), allow (outgoing), deny (routed)
New profiles: skip
$

Dans cet exemple, tout les paquets entrants sont autorisés, ce qui n'est pas recommandé.

Désactivons les paquets entrants :

$sudo ufw default deny incoming
Default incoming policy changed to 'deny'
(be sure to update your rules accordingly)
$sudo ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip
$

Si on veut ré-activer les paquets entrants:

$sudo ufw default allow incoming
Default incoming policy changed to 'allow'
(be sure to update your rules accordingly)
$sudo ufw status verbose
Status: active
Logging: on (low)
Default: allow (incoming), allow (outgoing), disabled (routed)
New profiles: skip
$

Pour activer le routage, il faut modifier le fichier /etc/ufw/sysctl.conf. Dans ce fichier, dé commenter la ligne net/ipv4/ip_forward=1. Rebooter la machine. 

Suite au reboot, ufw status verbose montre toujours disabled routed.

A présent, "sudo ufw default allow routed" fait passer "routed" à "allow".

Cet article explique comment configurer un PC en routeur avec deux pattes, ceci avec Ubuntu server 19.10. Créer un routeur nécessite plusieurs cartes réseau, ce que je n'ai pas sur mon PC. Nous utiliserons donc virtualbox.

Pour ce faire, notre VM aura 3 interfaces.

L'interface 1 sera dans le même réseau que le PC hôte. Ainsi, depuis le PC hôte, il sera possible de se connecter en ssh. Cette interface aura par exemple pour IP 192.168.1.101.

Les interfaces 2 et 3 seront les 2 pattes de notre routeur avec pour IP respective 1.0.0.254/24 et 2.0.0.254/24.

Nous aurons aussi 2 autres VMs (PC1 et PC2) pour simuler un PC, un de chaque côté des 2 interfaces de notre routeur.

Pour la VM en charge de simuler le routeur, la configuration au niveau de la GUI Virtualbox est la suivante :

  • Interface 1 :

Mode d'accès réseau : Accès par pont

Nom : wlp2s0 (ma carte wifi de l'hôte)

  • Interface 2:

Mode d'accès réseau : Réseau interne

Nom : intnet_1-0-0-0_masque24 (vous pouvez donner le nom de votre souhait)

  • Interface 3:

Mode d'accès réseau : Réseau interne

Nom : intnet_2-0-0-0_masque24

 

Le mode d'accès de type Réseau interne permet de définir un sorte de switch interne.

Les deux autres VMs destinées à simuler un PC de chaque côté du routeur utiliseront le "réseau interne" correspondant.

 

  • Configuration via netplan
network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      dhcp4: no
      addresses: [192.168.1.101/24]
      gateway4: 192.168.1.254
      nameservers:
        addresses: [8.8.8.8,8.8.4.4]
    enp0s8:
      dhcp4: no
      addresses: [1.0.0.254/24]
      routes:
      - to: 2.0.0.0/24
        via : 2.0.0.254
    enp0s9:
      dhcp4: no
      addresses: [2.0.0.254/24]
      routes:
      - to: 1.0.0.0/24
        via : 1.0.0.254

On a donc défini pour enp0s8 et enp0s9 des routes pour passer du réseau 1.0.0.0/24 au réseau 2.0.0.0/24

 

Pour la VM en charge de simuler PC1, la configuration au niveau de la GUI Virtualbox est la suivante :

  • Interface 1 :

Mode d'accès réseau : Accès par pont

Nom : wlp2s0 (ma carte wifi de l'hôte)

  • Interface 2:

Mode d'accès réseau : Réseau interne

Nom : intnet_1-0-0-0_masque24 (vous pouvez donner le nom de votre souhait)

  • Configuration via netplan
# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager
  ethernets:
    enp0s3:
      dhcp4: no
      addresses: [192.168.1.102/24]
      gateway4: 192.168.1.254
      nameservers:
        addresses: [8.8.8.8,8.8.4.4]
    enp0s8:
      dhcp4: no
      addresses: [1.0.0.1/24]
      routes:
      - to: 2.0.0.0/24
        via: 1.0.0.254

La patte du côté du routeur a donc pour IP 1.0.0.1/24. On déclare la route 2.0.0.0/24 qui peut être atteinte en passant par 1.0.0.254.

 

 

 

 

Sur les versions linux récente (c'est le cas de ubuntu server 19.10), la commande ifconfig n'est plus installée par défaut.

Il est conseillé d'utiliser netplan.

 

Exemples de commandes pour remplacer ifconfig

ip address show ou ip addr ou ip a : montre les adresses IP

ip link show => montre si le lien est up ou down

sudo ip addr add 192.168.1.101/24 dev enp0s3 => pour affecter une adresse IP

sudo ip link set dev enp0s3 up => pour monter le lien

sudo ip route add default via 192.168.1.254 => pour ajouter une route par défaut

 

Exemple de fichier de config pour ubuntu server 19.10

Fichier /etc/netplan/01-netcfg.yaml

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      dhcp4: no
      addresses: [192.168.1.101/24]
      gateway4: 192.168.1.254
      nameservers:
        addresses: [8.8.8.8,8.8.4.4]
    enp0s8:
      dhcp4: no
      addresses: [1.0.0.254/24]
      routes:
      - to: 2.0.0.0/24
        via : 2.0.0.254
    enp0s9:
      dhcp4: no
      addresses: [2.0.0.254/24]
      routes:
      - to: 1.0.0.0/24
        via : 1.0.0.254

Dans cet exemple, le serveur a trois cartes réseaux. Le serveur possède une route par défaut et un routage est défini entre les interfaces 1.0.0.254 et 2.0.0.254. Les DNS utilisés (8.8.8.8 et 8.8.4.4) sont ceux de Google.

sudo netplan try => pour tester la configuration

sudo netplan -d apply => pour debugger une configuration qui échoue

sudo netplan -d apply => pour faire appliquer la configuration

 

Exemple de fichier de config pour Ubuntu Desktop 19.10

Fichier /etc/netplan/01-network-manager-all.yaml

# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager
  ethernets:
    enp0s3:
      dhcp4: no
      addresses: [192.168.1.102/24]
      gateway4: 192.168.1.254
      nameservers:
        addresses: [8.8.8.8,8.8.4.4]

 

Cette technique permet d'exécuter une application graphique sur un serveur et de voir l'affichage non pas sur le serveur mais sur votre PC.

Solution 1, via un tunnel ssh

Pour ceci, entre votre PC et le serveur, établir un tunnel ssh avec l'option de forwarding X11.

Depuis votre PC :

ssh -X userX@UnServeur

xclock

=> la montre s'affiche sur votre PC

 

Autre solution 

La solution ci-dessous permet depuis un PC (PC source)  d'envoyer l'affichage sur un autre PC (PC cible). Dans ce cas, on ne passe pas dans un tunnel ssh, donc la sécurité est moindre.

Sur le PC cible (celui sur lequel l'affichage aura lieu) :

xhosts +  adresse IP du PC source 

On doit aussi modifier la config du serveur X du PC cible pour l'autoriser à répondre à des requêtes TCP :

sudo vi /usr/share/lightdm/lightdm.conf.d/50-xserver-command.conf

Ajouter à ce fichier la ligne suivante :

xserver-allow-tcp=true

 

Sur le PC source :

export DISPLAY=<ip PC cible>:0

Lancer une application graphique en ligne de commande, par exemple firefox

=> firefox s'affichera sur le PC cible

 

Sous-catégories