# Définition des interfaces avec un nom
define netif = enp0s3 # Interface avec accès internet extérieur
define dmzif = enp0s8 # Interface branchée à la DMZ
define lanif = enp0s9 # Interface branchée au LAN

# Définition des réseaux
define dmz-ntw = 172.17.0.0/24 # Plage réseau de la DMZ
define lan-ntw = 172.16.0.0/24 # Plage réseau du LAN
define net-ntw = 192.168.0.0/24 # Plage réseau, accès internet

# Définition des IPs du pare-feu
define firewall-net = 192.168.0.120
define firewall-lan = 172.16.0.254
define firewall-dmz = 172.17.0.254

# Définition des choses importantes - Vérifier comment les commentaires en fin de ligne fonctionnent
define proxy-dns = 172.17.0.1 # IP de srv-dmz
define dns-school = {10.121.38.7 , 10.121.38.8} # Serveurs DNS du lycée
define portproxy = 1080 # Port utilisé par le proxy qu'on va configurer
define dhcp = 172.16.0.1 # IP de srv-service
define pcsecure = 172.16.0.10 # IP de pc-secure
define router = 192.168.0.1 # IP de GWSIO
define lan-dhcp = 172.16.0.100-172.16.0.200 # IPs utilisées en plage DHCP

# Début des tables et des chaînes

table ip ipfilter {

	chain prerouting {
                type filter hook prerouting priority filter; policy drop;

		# Permet le passage des réponses aux requêtes acceptées
		ct state established, related accept

		# Autorise le SSH, étape 2
		tcp dport 22 iif $firewall-net accept
	
        }

	chain system_in {
                type filter hook input priority filter; policy drop;

		# Permet le passage des réponses aux requêtes acceptées
		ct state established, related accept

		# Autorise le SSH, étape 2
                tcp dport 22 iif $firewall-net accept
        }

 	chain routing {
                type filter hook forward priority filter; policy drop;

		# Permet le passage des réponses aux requêtes acceptées
		ct state established, related accept

	}

 	chain system_out {
                type filter hook output priority filter; policy drop;        
	}

	chain postrouting {
                type filter hook postrouting priority filter; policy drop;

		# Permet le passage des réponses aux requêtes acceptées
		ct state established, related accept

	}
}