85 lines
2.0 KiB
Markdown
85 lines
2.0 KiB
Markdown
# La gestion d'une IP
|
|
|
|
## La balise IP
|
|
|
|
La gestion des IP se fait dans un conteneur de [service](service.md).
|
|
|
|
La déclaration de l'attribut permet d'associer une IP autorisé à accéder au service.
|
|
|
|
Il est nécessaire, au minimum, de spécifier son adresse IP et l'interface :
|
|
|
|
```
|
|
<ip interface="ens3">192.168.0.1</ip>
|
|
```
|
|
|
|
L'IP peut être un variable :
|
|
|
|
```
|
|
<ip interface="ens3" ip_type="variable">variable_ip</ip>
|
|
```
|
|
|
|
Attention, la variable doit être de type "network".
|
|
|
|
## La gestion d'un réseau
|
|
|
|
L'adresse IP peut être un réseau :
|
|
|
|
```
|
|
<ip interface="ens3" netmask="255.255.255.0">192.168.0.0</ip>
|
|
```
|
|
|
|
Le masque de réseau peut être un variable :
|
|
|
|
```
|
|
<ip interface="ens3" netmask_type="variable" netmask="variable_netmask" ip_type="variable">variable_ip</ip>
|
|
```
|
|
|
|
Attention, la variable doit être de type "netmask".
|
|
|
|
## L'interface
|
|
|
|
Il est possible de spécifier le nom de l'interface si on la connait :
|
|
|
|
```
|
|
<ip interface="ens3">192.168.0.1</ip>
|
|
```
|
|
|
|
Mais il est possible de calculer automatiquement cette valeur :
|
|
|
|
```
|
|
<ip interface="auto">192.168.0.1</ip>
|
|
```
|
|
|
|
Dans ce cas l'interface est déduite à partir de la table de routage.
|
|
|
|
L'interface peut être un variable :
|
|
|
|
```
|
|
<ip interface="my_variable" interface_type="variable">192.168.0.1</ip>
|
|
```
|
|
|
|
Attention, la variable doit être de type "string".
|
|
|
|
## Désactiver la génération d'une IP
|
|
|
|
Il est possible de définir une [condition](../condition/README.md) de type "disabled_if_in" ou "disabled_if_not_in" sur une balise IP :
|
|
|
|
```
|
|
<services>
|
|
<service name="test">
|
|
<ip interface="ens3" iplist="test_ip">192.168.0.1</ip>
|
|
</service>
|
|
</services>
|
|
<variables>
|
|
<variable name="condition" type="boolean"/>
|
|
</variables>
|
|
<constraints>
|
|
<condition name="disabled_if_in" source="condition">
|
|
<param>False</param>
|
|
<target type="iplist">test_ip</target>
|
|
</condition>
|
|
</constraints>
|
|
```
|
|
|
|
Dans ce cas, tous les IP avec un attribut iplist à "test_ip" seront désactivé si la variable "condition" est False.
|