|
|
|
@ -1,38 +1,25 @@ |
|
|
|
#! /sbin/nft -f |
|
|
|
|
|
|
|
table nat { |
|
|
|
|
|
|
|
table ip nat { |
|
|
|
chain prerouting { |
|
|
|
type nat hook prerouting priority 0; |
|
|
|
# Sur le vlan prerezotage on fait du dnat vers un serveur de bounce car |
|
|
|
# sur les clients récents on émet une requête http vers un serveur |
|
|
|
# connu et on attend une réponse 204 pour voir que tout va bien. Si on |
|
|
|
# ne l'a pas on ouvre un navigateur avec la réponse. C'est exactement |
|
|
|
# ce que l'on veut pour les adhérents non rézotés qui sont sur ce vlan: |
|
|
|
# les rediriger vers l'intranet. |
|
|
|
meta iifname $if_prerezotage tcp dport {http,https} ip daddr != { $intranet, $comnpay, $website } dnat $bounce_server; |
|
|
|
meta iifname $if_prerezotage ip daddr != { $intranet, $comnpay, $website } tcp dport {http,https} dnat $bounce_server; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
chain postrouting { |
|
|
|
type nat hook postrouting priority 100 |
|
|
|
# Pour les machines du VLAN de prérézotage, on fait un simple |
|
|
|
# masquerade derrière l'IP du routeur car on a pas besoin de loguer |
|
|
|
# étant donné que l'on limite les destinations possibles par ailleurs. |
|
|
|
meta iifname $if_prerezotage masquerade,persistent |
|
|
|
|
|
|
|
# NAT adherent |
|
|
|
meta iifname $if_adherent meta oifname $if_supelec snat ip saddr map @adherent_nat_address : ip saddr map @adherent_nat_port; |
|
|
|
# NAT federez |
|
|
|
meta iifname $if_federez meta oifname $if_supelec snat ip saddr map @federez_nat_address : ip saddr map @federez_nat_port; |
|
|
|
# NAT ALOES |
|
|
|
meta iifname $if_adherent meta oifname $if_supelec snat ip saddr map @aloes_nat_address : ip saddr map @aloes_nat_port; |
|
|
|
# NAT Server |
|
|
|
meta iifname $if_admin meta oifname $if_supelec snat ip saddr map @server_nat_address : ip saddr map @server_nat_port; |
|
|
|
# NAT prerezotage |
|
|
|
meta iifname $if_prerezotage meta oifname $if_supelec snat ip saddr map @prerezotage_nat_address : ip saddr map @prerezotage_nat_port; |
|
|
|
|
|
|
|
# Le reste du local est mis en masquerade derrière le routeur |
|
|
|
|
|
|
|
meta oifname != $if_supelec return |
|
|
|
|
|
|
|
meta iifname vmap { |
|
|
|
$if_adherent : goto adh_nat, |
|
|
|
$if_admin : goto adm_nat, |
|
|
|
$if_aloes : goto aloes_nat, |
|
|
|
$if_federez : goto federez_nat, |
|
|
|
$if_prerezotage : goto prerezotage_nat, |
|
|
|
} |
|
|
|
|
|
|
|
ip saddr 10.0.0.0/8 masquerade |
|
|
|
|
|
|
|
} |
|
|
|
|