Compare commits

...

17 Commits

Author SHA1 Message Date
363e22a082 depot du TP6 2025-05-05 09:07:35 +02:00
2481e8eb05 ajout du repertoir tp06 2025-04-09 17:17:32 +02:00
3744a89ca1 scripts du BTS blanc 2025-04-07 10:38:35 +02:00
8cf2911080 Ajout du repertoire BTS blanc 2025-04-02 17:13:13 +02:00
cafa3a4993 test de config de proxy 2025-03-26 17:01:31 +01:00
6e552e557d debug2 2025-03-26 16:35:27 +01:00
redouane.assani
d2d9597799 debug 2025-03-26 16:30:32 +01:00
redouane.assani
2dc20510ea script dans squid 2025-03-26 16:28:50 +01:00
b1223552d6 config initiale 2025-03-26 16:24:40 +01:00
redouane.assani
805e8038dc debug 2025-03-26 15:41:39 +01:00
redouane.assani
08e746f1d8 ajout des fichier nécessaire pour TP5 2025-03-26 15:39:39 +01:00
213390a105 correction du script createGroups 2025-03-24 09:29:12 +01:00
13c908ddfd debug 2025-03-24 09:18:11 +01:00
7408f2afd4 deployUsers 2025-03-24 09:06:31 +01:00
43bdebdec9 debug 2025-03-20 14:10:10 +01:00
0aeb37aa85 ajout du script createUser 2025-02-20 14:51:22 +01:00
01c02cebba script_Createuser 2025-02-20 14:49:24 +01:00
21 changed files with 9731 additions and 52 deletions

View File

@@ -0,0 +1,18 @@
groupadd TeamLead
mkdir /home/planning
chgrp TeamLead /home/planning
chmod 774 /home/planning
fichier=Users.csv
while read ligne # définit la varaible "ligne" comme contenue de la ligne du fichier en cours de lecture
do
metier=$(echo $ligne | cut -d "," -f5) #A chhaque utilisateur itération, stocker le métier
echo $metier
if [[ $(grep $metier /etc/group) == "" ]] ; then
groupadd $metier
mkdir /home/$metier
chgrp $metier /home/$metier
chmod 770 /home/$metier
fi
done < $fichier

View File

@@ -0,0 +1,25 @@
file=./login.csv
file1=./Users.csv
while read ligne
do
username=$(echo $ligne | cut -d ";" -f1)
useradd -m -s "/bin/bash" $username
roup=$(echo $ligne | cut -d ";" -f5)
usermod -aG $group $username
password=$(echo $ligne | cut -d ";" -f2)
echo $username:$password | chpasswd
chown $username:$username /home/$username
done <$file
while read ligne
do
last_name=$(echo $ligne | cut -d "," -f2) # récupération du nom a chaque ligne
first_name=$(echo $ligne | cut -d "," -f1) # récupération du prénom a chaque ligne
login=$(echo $first_name | cut -c1)$last_name # creation d'un login
login=$(echo $login | tr [:upper:] [:lower:]) #passage de toute les lettre du nom et prenom en minuscule
login=$(echo $login | tr -dc [:alnum:]) #Prise en compte des caractere uniquement alphabéticonumérique
group=$(echo $ligne | cut -d "," -f6)
getent group $group
if [[ $group == "TeamLead" ]] ; then
usermod aG $group $login
fi
done < $file1

View File

@@ -15,4 +15,10 @@ Travaux pratiques de première année : option SISR
* Construction d'un reséaux interne virtuelle
* Configuration de serveurs DNS Primaires et secondaires
* automatisation du lacement du script NAT
* Configuration du service DHCP pour utiliser ces DNS
* Configuration du service DHCP pour utiliser ces DNS
**- Tp04-bases-d'administration**
**- TP05-proxy**
**- Tp06-Firewall**

View File

@@ -0,0 +1 @@
# Droit d'acces appliquée au dossier

View File

@@ -1,31 +1,12 @@
#!/bin/bash
file='./Users.csv'
fichier=Users.csv
while read ligne
while read ligne # définit la varaible "ligne" comme contenue de la ligne du fichier en cours de lecture
do
# A chaque itération, stocker le métier dans $metier
metier=$(echo $ligne | cut -d "," -f5)
# On regarde si les group existe
# tail /etc/group
# Vérification de la présence du groupe Accountant -> ajout de la fonction "Accountant" à $groups
if [[ $(echo $ligne | grep "Accountant") == "" ]] ; then
groupadd accountant
metier=$(echo $ligne | cut -d "," -f5) #A chhaque utilisateur itération, stocker le métier
echo $metier
if [[ $(grep $metier /etc/group) == "" ]] ; then
groupadd $metier
fi
# Vérification de la présence du groupe Management -> ajout de la fonction "Management" à $groups
if [[ $(echo $ligne | grep "Management") == "" ]] ; then
groupadd management
fi
# Vérification de la présence du groupe Production -> ajout de la fonction "Production" à $groups
if [[ $(echo $ligne | grep "Production") == "" ]] ; then
groupadd production
fi
# On regarde si les groups ont été créé
# tail /etc/group
# echo $metier
done < $file
done < $fichier

View File

@@ -1,30 +1,24 @@
#!/bin/bash
fichier=Users.csv
fichier_a_ecrire=./login.csv
rm $fichier_a_ecrire 2> /dev/null
touch $fichier_a_ecrire
# Fichier d'entrée contenant les informations des utilisateurs
input_file="users.csv"
# Fichier de sortie contenant les logins générés
output_file="logins.csv"
while read ligne
do
aecrie=""
last_name=$(echo $ligne | cut -d "," -f2) # récupération du nom a chaque ligne
first_name=$(echo $ligne | cut -d "," -f1) # récupération du prénom a chaque ligne
group=$(echo $ligne | cut -d "," -f5) # recupération du groupe a chaque ligne
login=$(echo $first_name | cut -c1)$last_name # creation d'un login
login=$(echo $login | tr [:upper:] [:lower:]) #passage de toute les lettre du nom et prenom en minuscule
login=$(echo $login | tr -dc [:alnum:]) #Prise en compte des caractere uniquement alphabéticonumérique
password=$(echo $RANDOM | md5sum | head -c8) #creation d'un mot de passe
# Fonction pour générer un mot de passe aléatoire
generate_password() {
# Générer un mot de passe aléatoire de 8 caractères alphanumériques
# Utilise /dev/urandom et tr pour choisir uniquement des caractères alphanumériques
< /dev/urandom tr -dc 'A-Za-z0-9' | head -c 8
}
aecrie="$login;$password;$first_name;$last_name;$group"
# Créer un fichier de sortie et ajouter l'en-tête
echo "Nom d'utilisateur,Prénom,Nom,Mot de passe,Groupe" > "$output_file"
echo $aecrie >> $fichier_a_ecrire
# Lire le fichier d'entrée ligne par ligne
while IFS=' ' read -r firstname lastname group; do
# Générer le nom d'utilisateur en prenant l'initiale du prénom et le nom, tout en minuscules
username="${firstname:0:1}${lastname}"
# Générer un mot de passe aléatoire
password=$(generate_password)
done < $fichier
# Ajouter la ligne au fichier de sortie
echo "$username,$firstname,$lastname,$password,$group" >> "$output_file"
done < "$input_file"
echo "Fichier logins.csv généré avec succès."
echo "le fichier login.csv a bien été créer"

View File

@@ -0,0 +1,20 @@
file=./login.csv
while read ligne
do
username=$(echo $ligne | cut -d ";" -f1)
useradd -m -s "/bin/bash" $username
group=$(echo $ligne | cut -d ";" -f5)
usermod -aG $group $username
password=$(echo $ligne | cut -d ";" -f2)
echo $username:$password | chpasswd
chown $username:$username /home/$username
done <$file

View File

@@ -0,0 +1,18 @@
#!/bin/bash
ip=$1
user=root
workdir=/$user/deploy
ssh $user@$ip "mkdir $workdir" 2> /dev/null
#copie des scripts et fichier
scp createGroups.sh $user@$ip:$workdir
scp createUsers.sh $user@$ip:$workdir
scp login.csv $user@$ip:$workdir
scp Users.csv $user@$ip:$workdir
#execution des scripts
ssh $user@$ip "cd $workdir ; bash createGroups.sh ; bash createUsers.sh"
ssh $user@$ip "rm -R $workdir" #suppression

View File

@@ -13,4 +13,4 @@ git add .
git commit -m "$message"
# Push vers le dépot
git push -u https://jeremy.thomas@gitea.lyc-lecastel.fr/redouane.assani/siotp.git
git push https://redouane.assani@gitea.lyc-lecastel.fr/redouane.assani/siotp.git

View File

@@ -0,0 +1,30 @@
eberthelmot;b67e86f8;Ermengarde;Berthelmot;Accountant
kbunker;c96ce0e8;Kassi;Bunker;Production
mmccallum;8d3df113;Moises;McCallum;Production
plune;719198af;Patrizio;Lune;Accountant
beverix;c914708a;Blanch;Everix;Accountant
skibbel;5eab5ab7;Stafani;Kibbel;Production
imosdell;f6c73e14;Ignacius;Mosdell;Management
jwallerbridge;aeca1ecf;Jeana;Waller-Bridge;Management
edressel;5679fb79;Elroy;Dressel;Production
tstrettell;0b218424;Thea;Strettell;Production
sinsoll;02b743ca;Solomon;Insoll;Accountant
cfeedome;32405639;Carri;Feedome;Accountant
pchetwind;a75beebe;Padraic;Chetwind;Management
sdugo;4b4f98e3;Solly;D'Ugo;Production
kmaccostigan;0db1473c;Konstanze;MacCostigan;Accountant
rpowlesland;c0e9b6c6;Roxane;Powlesland;Management
okennealy;155f3674;Orelle;Kennealy;Production
ssoitoux;323f6ff8;Sukey;Soitoux;Production
nsyce;82c0f357;Nelli;Syce;Production
cshillam;0575710e;Clarisse;Shillam;Production
cgueny;fad38e18;Carin;Gueny;Management
driepel;c7482c14;Donny;Riepel;Production
dralfe;a053e245;Daniella;Ralfe;Production
lclynmans;5865f85c;Lexy;Clynmans;Production
gadamthwaite;5d8660f7;Gardiner;Adamthwaite;Production
wlippett;7d65808a;Woodman;Lippett;Production
nmunnion;d353774c;Nadya;Munnion;Production
lhabershon;1594623a;Llewellyn;Habershon;Production
igreatrex;f6ed5356;Isaak;Greatrex;Production
dfrostdyke;d8eb0743;Darill;Frostdyke;Production
1 eberthelmot b67e86f8 Ermengarde Berthelmot Accountant
2 kbunker c96ce0e8 Kassi Bunker Production
3 mmccallum 8d3df113 Moises McCallum Production
4 plune 719198af Patrizio Lune Accountant
5 beverix c914708a Blanch Everix Accountant
6 skibbel 5eab5ab7 Stafani Kibbel Production
7 imosdell f6c73e14 Ignacius Mosdell Management
8 jwallerbridge aeca1ecf Jeana Waller-Bridge Management
9 edressel 5679fb79 Elroy Dressel Production
10 tstrettell 0b218424 Thea Strettell Production
11 sinsoll 02b743ca Solomon Insoll Accountant
12 cfeedome 32405639 Carri Feedome Accountant
13 pchetwind a75beebe Padraic Chetwind Management
14 sdugo 4b4f98e3 Solly D'Ugo Production
15 kmaccostigan 0db1473c Konstanze MacCostigan Accountant
16 rpowlesland c0e9b6c6 Roxane Powlesland Management
17 okennealy 155f3674 Orelle Kennealy Production
18 ssoitoux 323f6ff8 Sukey Soitoux Production
19 nsyce 82c0f357 Nelli Syce Production
20 cshillam 0575710e Clarisse Shillam Production
21 cgueny fad38e18 Carin Gueny Management
22 driepel c7482c14 Donny Riepel Production
23 dralfe a053e245 Daniella Ralfe Production
24 lclynmans 5865f85c Lexy Clynmans Production
25 gadamthwaite 5d8660f7 Gardiner Adamthwaite Production
26 wlippett 7d65808a Woodman Lippett Production
27 nmunnion d353774c Nadya Munnion Production
28 lhabershon 1594623a Llewellyn Habershon Production
29 igreatrex f6ed5356 Isaak Greatrex Production
30 dfrostdyke d8eb0743 Darill Frostdyke Production

View File

@@ -0,0 +1,16 @@
#!/bin/bash
if [ -z "$1" ] ; then
read -p "Erreur: Ecrivez un message " $message
else
message=$1
fi
# Ajout des fichiers modifiers
git add .
# Commit avec le message
git commit -m "$message"
# Push vers le dépot
git push https://redouane.assani@gitea.lyc-lecastel.fr/redouane.assani/siotp.git

View File

@@ -0,0 +1,11 @@
#!/bin/bash
echo "1" > /proc/sys/net/ipv4/ip_forward
nft add table dnsfwd
nft add chain dnsfwd prerouting {type nat hook prerouting priority 0 \; }
nft add chain dnsfwd postrouting {type nat hook postrouting priority 0 \; }
nft add rule dnsfwd postrouting tcp dport 53 masquerade
nft add rule dnsfwd postrouting udp dport 53 masquerade
nft add rule dnsfwd prerouting tcp dport 53 masquerade
nft add rule dnsfwd prerouting udp dport 53 masquerade
nft add rule dnsfwd prerouting ct state established,related accept
nft add rule dnsfwd postrouting ct state established,related accept

View File

@@ -0,0 +1,16 @@
#Script destiné a être paramétré et exécuté depuis un repertoire de votre depots git
#contenant un fichier de coinfiguration d'un service
filename=squid.conf # nom du fichier config
filepath=/etc/squid # emplacement systeme du fichier config
servicename=squid.service #nom du service
git pull # mise a jour du fichier de config du dépôt
sudo cp $filepath/$filename $filepath/$filename.old
#sauvegarde fichier précédente
sudo cp ./$filename $filepath/$filename
#copie du fichier de config mis a jour a son emplacement
sudo systemctl restart $servicename
#redemarage du service associé

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,120 @@
define netif = enp0s3
define lanif = enp0s8
define dmzif = enp0s9
define netip = 192.168.0.120
define lanip = 172.16.0.254
define dmzip = 172.17.0.254
define lan-ntw = 172.16.0.1-172.16.0.254
define dmz-ntw = 172.17.0.1-172.17.0.254
define internal-dns-ip = 172.16.0.1
define dns-forwarder-ip = 10.121.38.7
table ip ipfilter{
#Chaines de filtrage
chain prerouting {
type filter hook prerouting priority filter; policy drop;
#Communicationaccept déjà établies
ct state established,related accept
#SSH
tcp dport 22 accept
#Requêtes HTTP/HTTPS depuis LAN
tcp dport {80,443} iif $lanif accept
# Requêtes externe du serveur DNS
ip saddr $internal-dns-ip ip daddr $dns-forwarder-ip accept
# Requêtes DNS depuis la DMZ
ip saddr $dmzip ip daddr $internal-dns-ip accept
# Allow outgoing DNS requests from DMZ
ip saddr $dmzip udp dport 53 accept
#Pings
icmp type echo-request iif $lanif accept
icmp type echo-reply iif {$lanif, $dmzif} accept
}
chain system_in {
type filter hook input priority filter; policy drop;
#Communication déjà établies
ct state established,related accept
#SSH
tcp dport 22 accept
#Pings
icmp type echo-request iif $lanif accept
icmp type echo-reply accept
}
chain routing {
type filter hook forward priority filter; policy drop;
#Communication déjà établies
ct state established,related accept
#Requêtes HTTP/HTTPS depuis LAN
tcp dport {80,443} iif $lanif accept
#Requêtes externe du serveur DNS
ip saddr $internal-dns-ip ip daddr $dns-forwarder-ip accept
# Requêtes DNS depuis la DMZ
ip saddr $dmzip ip daddr $internal-dns-ip accept
# Allow outgoing DNS requests from DMZ
ip saddr $dmzip udp dport 53 accept
#Pings
icmp type echo-request iif $lanif oif $dmzif accept
icmp type echo-reply iif $dmzif oif $lanif accept
}
chain system_out {
type filter hook output priority filter; policy drop;
#Communication déjà établies
ct state established,related accept
#SSH
tcp sport 22 accept
#Proxy lycée
tcp dport 8080 accept
#DNS
udp dport 53 accept
#HTTP/HTTPS
tcp dport {80,443} accept
#FTP
tcp dport {20,21} accept
#Pings
icmp type echo-request accept
icmp type echo-reply oif $lanif accept
}
chain postrouting {
type filter hook postrouting priority filter; policy drop;
#Communication déjà établies
ct state established,related accept
#SSH
tcp sport 22 accept
#Proxy lycée
tcp dport 8080 accept
#DNS
udp dport 53 accept
#Requêtes externe du serveur DNS
ip saddr $internal-dns-ip ip daddr $dns-forwarder-ip accept
#HTTP/HTTPS
tcp dport {80,443} accept
#FTP
tcp dport {20,21} accept
# Requêtes DNS depuis la DMZ
ip saddr $dmzip ip daddr $internal-dns-ip accept
# Allow outgoing DNS requests from DMZ
ip saddr $dmzip udp dport 53 accept
#Pings
icmp type echo-request oif {$lanif, $dmzif} accept
icmp type echo-reply oif $lanif accept
}
#Chaines pour la NAT
chain nat_prerouting {
type nat hook prerouting priority filter; policy accept;
}
chain nat_postrouting {
type nat hook postrouting priority filter; policy accept;
#Masquage des IP de la LAN sortant sur Internet
ip saddr $lan-ntw oif $netif snat $netip
}
}

View File

@@ -0,0 +1,13 @@
table ip ipfilter {
chain routing {
type filter hook forward priority filter; policy accept;
icmp type echo-request iif { "enp0s3", "enp0s9" } drop
icmp type { echo-reply, echo-request } accept
drop
}
chain system_in {
type filter hook input priority filter; policy accept;
icmp type echo-request iif { "enp0s3", "enp0s9" } drop
}
}

View File

@@ -0,0 +1,25 @@
define netif = enp0s3
define dmzif = enp0s9
define lanif = enp0s8
table ip ipfilter{
chain prerouting {
type filter hook prerouting priority filter; policy drop;
tcp dport 22 accept
}
chain system_in {
type filter hook input priority filter; policy drop;
tcp dport 22 accept
}
chain routing {
type filter hook forward priority filter; policy drop;
}
chain system_out {
type filter hook output priority filter; policy drop;
tcp sport 22 accept
}
chain postrouting {
type filter hook postrouting priority filter; policy drop;
tcp sport 22 accept
}
}

View File

@@ -0,0 +1,42 @@
define netif = enp0s3
define lanif = enp0s8
define dmzif = enp0s9
define netip = 192.168.0.140 (ou 120, ou 160)
define lanip = 172.16.0.254
define dmzip = 172.17.0.254
define lan-ntw = 172.16.0.1-172.16.0.254
define dmz-ntw = 172.17.0.1-172.17.0.254
table ip ipfilter{
chain prerouting {
type filter hook prerouting priority filter; policy drop;
tcp dport 22 accept
icmp type echo-request iif $lanif accept
icmp type echo-reply iif {$lanif, $dmzif} accept
}
chain system_in {
type filter hook input priority filter; policy drop;
tcp dport 22 accept
icmp type echo-request iif $lanif accept
icmp type echo-reply accept
}
chain routing {
type filter hook forward priority filter; policy drop;
icmp type echo-request iif $lanif oif $dmzif accept
icmp type echo-reply iif $dmzif oif $lanif accept
}
chain system_out {
type filter hook output priority filter; policy drop;
tcp sport 22 accept
icmp type echo-request accept
icmp type echo-reply oif $lanif accept
}
chain postrouting {
type filter hook postrouting priority filter; policy drop;
tcp sport 22 accept
icmp type echo-request oif {$lanif, $dmzif} accept
icmp type echo-reply oif $lanif accept
}
}

View File

@@ -0,0 +1,70 @@
define netif = enp0s3
define lanif = enp0s8
define dmzif = enp0s9
define netip = 192.168.0.120
define lanip = 172.16.0.254
define dmzip = 172.17.0.254
define lan-ntw = 172.16.0.1-172.16.0.254
define dmz-ntw = 172.17.0.1-172.17.0.254
table ip ipfilter{
chain prerouting {
type filter hook prerouting priority filter; policy drop;
tcp dport 22 accept
icmp type echo-request iif $lanif accept
icmp type echo-reply iif {$lanif, $dmzif} accept
ct state established,related accept
}
chain system_in {
type filter hook input priority filter; policy drop;
tcp dport 22 accept
icmp type echo-request iif $lanif accept
icmp type echo-reply accept
ct state established,related accept
}
chain routing {
type filter hook forward priority filter; policy drop;
icmp type echo-request iif $lanif oif $dmzif accept
icmp type echo-reply iif $dmzif oif $lanif accept
}
chain system_out {
type filter hook output priority filter; policy drop;
ct state established,related accept
# SSH
tcp sport 22 accept
icmp type echo-request accept
icmp type echo-reply oif $lanif accept
#Proxy lycée
tcp dport 8080 accept
# Requêtes DNS sortantes (UDP et TCP)
udp dport 53 accept
tcp dport 53 accept
# Requêtes HTTP/HTTPS/FTP sortantes
tcp dport {80, 443, 20, 21} accept
}
chain postrouting {
type filter hook postrouting priority filter; policy drop;
ct state established,related accept
# SSH
tcp sport 22 accept
tcp dport 8080 accept
icmp type echo-request oif {$lanif, $dmzif} accept
icmp type echo-reply oif $lanif accept
# Requêtes DNS sortantes (UDP et TCP)
udp dport 53 accept
tcp dport 53 accept
# Requêtes HTTP/HTTPS/FTP sortantes
tcp dport {80, 443, 20, 21} accept
}
}

View File

@@ -0,0 +1,106 @@
define netif = enp0s3
define lanif = enp0s8
define dmzif = enp0s9
define netip = 192.168.0.120
define lanip = 172.16.0.254
define dmzip = 172.17.0.254
define lan-ntw = 172.16.0.1-172.16.0.254
define dmz-ntw = 172.17.0.1-172.17.0.254
define internal-dns-ip = 172.16.0.1
define dns-forwarder-ip = 10.121.38.7
table ip ipfilter{
#Chaines de filtrage
chain prerouting {
type filter hook prerouting priority filter; policy drop;
#Communicationaccept déjà établies
ct state established,related accept
#SSH
tcp dport 22 accept
#Requêtes HTTP/HTTPS depuis LAN
tcp dport {80,443} iif $lanif accept
#Requêtes externe du serveur DNS
ip saddr $internal-dns-ip ip daddr $dns-forwarder-ip accept
#Pings
icmp type echo-request iif $lanif accept
icmp type echo-reply iif {$lanif, $dmzif} accept
}
chain system_in {
type filter hook input priority filter; policy drop;
#Communication déjà établies
ct state established,related accept
#SSH
tcp dport 22 accept
#Pings
icmp type echo-request iif $lanif accept
icmp type echo-reply accept
}
chain routing {
type filter hook forward priority filter; policy drop;
#Communication déjà établies
ct state established,related accept
#Requêtes HTTP/HTTPS depuis LAN
tcp dport {80,443} iif $lanif accept
#Requêtes externe du serveur DNS
ip saddr $internal-dns-ip ip daddr $dns-forwarder-ip accept
#Pings
icmp type echo-request iif $lanif oif $dmzif accept
icmp type echo-reply iif $dmzif oif $lanif accept
}
chain system_out {
type filter hook output priority filter; policy drop;
#Communication déjà établies
ct state established,related accept
#SSH
tcp sport 22 accept
#Proxy lycée
tcp dport 8080 accept
#DNS
udp dport 53 accept
#HTTP/HTTPS
tcp dport {80,443} accept
#FTP
tcp dport {20,21} accept
#Pings
icmp type echo-request accept
icmp type echo-reply oif $lanif accept
}
chain postrouting {
type filter hook postrouting priority filter; policy drop;
#Communication déjà établies
ct state established,related accept
#SSH
tcp sport 22 accept
#Proxy lycée
tcp dport 8080 accept
#DNS
udp dport 53 accept
#Requêtes externe du serveur DNS
ip saddr $internal-dns-ip ip daddr $dns-forwarder-ip accept
#HTTP/HTTPS
tcp dport {80,443} accept
#FTP
tcp dport {20,21} accept
#Pings
icmp type echo-request oif {$lanif, $dmzif} accept
icmp type echo-reply oif $lanif accept
}
#Chaines pour la NAT
chain nat_prerouting {
type nat hook prerouting priority filter; policy accept;
}
chain nat_postrouting {
type nat hook postrouting priority filter; policy accept;
#Masquage des IP de la LAN sortant sur Internet
ip saddr $lan-ntw oif $netif snat $netip
}
}

View File

@@ -0,0 +1,7 @@
#!/bin/bash
ipfirewall=192.168.0.120
dir=/root/firewall
ruleset=current_ruleset.nft
scp $ruleset root@$ipfirewall:$dir/$ruleset
ssh root@$ipfirewall "bash $dir/refresh_firewall.sh"