bases du nat
This commit is contained in:
parent
ebed1631ac
commit
adb973b5af
3 changed files with 62 additions and 1 deletions
|
@ -55,7 +55,7 @@ table inet firewall {
|
|||
type filter hook input priority 0;
|
||||
policy drop;
|
||||
# Nos passerelles font beaucoup de choses...
|
||||
tcp dport {http, https, ssh, dns, dhcp} accept;
|
||||
tcp dport {http, https, ssh, dns, dhcp, radius} accept;
|
||||
# On a le droit de parler avec nous même.
|
||||
iif lo accept;
|
||||
counter
|
||||
|
|
35
nat.nft
Normal file
35
nat.nft
Normal file
|
@ -0,0 +1,35 @@
|
|||
#! /sbin/nft -f
|
||||
|
||||
table 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.
|
||||
iifname $if_prerezotage tcp dport {http,https} ip daddr != { $intranet, $comnpay, $website } 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.
|
||||
iifname $if_prerezotage masquerade,persistent
|
||||
|
||||
# NAT adherent
|
||||
iifname $if_adherent oifname $if_supelec snat ip saddr map @adherent_nat_address : ip saddr map @adherent_nat_port;
|
||||
# NAT federez
|
||||
iifname $if_federez oifname $if_supelec snat ip saddr map @federez_nat_address : ip saddr map @federez_nat_port;
|
||||
# NAT ALOES
|
||||
iifname $if_adherent oifname $if_supelec snat ip saddr map @aloes_nat_address : ip saddr map @aloes_nat_port;
|
||||
# NAT Server
|
||||
iifname $if_admin oifname $if_supelec snat ip saddr map @server_nat_address : ip saddr map @server_nat_port;
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -35,3 +35,29 @@ table inet firewall {
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
table nat {
|
||||
# On nate les users derrière les IPs 193.48.225.11 à 193.48.225.141 en
|
||||
# attribuant les plages de ports 11135-65535 par tranche de 1700 ports.
|
||||
# On a donc 32 Ips de 10.69.0.0/20 derrière chaque Ip.
|
||||
map adherent_nat_address {
|
||||
type ipv4_addr: ipv4_addr
|
||||
flags interval
|
||||
elements = {
|
||||
# exemple: 10.69.0.1-10.69.0.31 : 193.48.225.11
|
||||
# On peut aussi ajouter dynamiquement des éléments :
|
||||
# nft add element nat adherent_nat_address {10.69.0.1-10.69.0.31 : 193.48.225.11}
|
||||
|
||||
}
|
||||
}
|
||||
map adherent_nat_port {
|
||||
type ipv4_addr: inet_service
|
||||
flags interval
|
||||
elements = {
|
||||
# exemple: 10.69.0.1 : 11135-128334
|
||||
# On peut aussi ajouter dynamiquement des éléments :
|
||||
# nft add element nat adherent_nat_port {10.69.0.1 : 11135-128334}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue