rougail/doc/service/ip.md

85 lines
2.0 KiB
Markdown
Raw Normal View History

2021-02-14 10:12:42 +01:00
# La gestion d'une IP
2021-02-16 10:22:29 +01:00
## La balise IP
2021-02-14 10:12:42 +01:00
La gestion des IP se fait dans un conteneur de [service](service.md).
2021-02-10 08:19:33 +01:00
2021-02-16 10:22:29 +01:00
La déclaration de l'attribut permet d'associer une IP autorisé à accéder au service.
2021-02-10 08:19:33 +01:00
2021-02-16 10:22:29 +01:00
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>
```
2021-02-17 09:52:17 +01:00
Attention, la variable doit être de type "network".
2021-02-16 10:22:29 +01:00
## 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>
```
2021-02-17 09:52:17 +01:00
Attention, la variable doit être de type "netmask".
2021-02-16 10:22:29 +01:00
## 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.
2021-02-17 09:52:17 +01:00
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".
2021-02-16 10:22:29 +01:00
## 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.