2015-10-08 1 views
1

Si aucune adresse IP n'est obtenue via DHCP, je souhaite définir une adresse IP statique, que j'ai précédemment écrite dans un fichier texte.Définir l'adresse IP statique à partir du fichier texte si elle n'est pas obtenue via DHCP (sed)

Contenu de mon staticIP.txt:

10.10.0.254

Jusqu'à présent, je reçois une adresse IP statique lorsque DHCP ist ne fonctionne pas. J'édité le /etc/dhcp/dhclient.conf pour cela:

timeout 10; 
lease { 
interface "eth0"; 
fixed-address 10.0.0.10; 
option subnet-mask 255.255.255.0; 
renew 2 2022/1/1 00:00:01; 
rebind 2 2022/1/1 00:00:01; 
expire 2 2022/1/1 0:00:01; 
} 

(Source: Set static ip if not obtained from DHCP (script))

Maintenant, je veux remplacer "adresse fixe 10.0.0.10;" avec l'IP statique "10.10.0.254" dans mon staticIP.txt, quand aucun DHCP n'est obtenu.

Tout ce que j'ai pu faire jusqu'à présent, c'est de remplacer "l'adresse fixe"; bloc avec sed et écrire dans le fichier:

sed -i 's/fixed-address [0-9]\{1,3\}.[0-9]\{1,3\}.[0-9]\{1,3\}.[0-9]\{1,3\}/<MANUAL ENTERED IP>/g' /etc/dhcp/dhclient.conf 

Deux choses manquent en ce moment:

  1. IP de l'extraction staticIP.txt et remplacer "adresse fixe [IP];"

  2. Vérifiez si aucun IP a été obtenue via DHCP et exécutez la commande sed

Je serais heureux si quelqu'un pouvait me aider.

Merci beaucoup. Pourquoi garder une adresse IP dans le fichier?

Répondre

1

Pourquoi conserver une adresse IP dans le fichier? Ne vaut-il pas mieux l'ajouter directement à une expression régulière?

sed -i 's#fixed-address 10.0.0.10;#fixed-address 10.10.0.254;#' /etc/dhcp/dhclient.conf