I would like to ask how do I delete multiple nat rules at once. Is it possible?. Thank you
Sometimes it’s easier to delete all the NAT rules and re-create the rules you want.
Any of the options.
delete nat source
delete nat destination
delete nat
we have 3000 rules in NAT… completely delete and recreate again is impossible…
i need delete nat from rule 2000-2200…
Get all NAT configuration
show configuration commands | match nat
Copy it to notepad/text-editor
Delete rules that not match 2000-2200
Replace “set” with “del” for desired rules
For example
del nat source rule 2000 destination address '1.1.1.1'
del nat source rule 2000 outbound-interface 'eth0'
del nat source rule 2000 translation address '10.0.0.1'
del nat source rule 2001 destination address '1.1.1.2'
del nat source rule 2001 outbound-interface 'eth0'
del nat source rule 2001 translation address '10.0.0.2'
commit
Update, the above commands doesn’t delete rule numbers.
For a solution for it, you ned to get rules numbers to file. Example for source nat
show nat source statistics | awk '{print $1}' | grep "[2][0-2][0-9][0-9]" > /tmp/rule_numbers.txt
Check rule numbers
vyos@r1:~$ cat /tmp/rule_numbers.txt
2000
2001
2200
Add script int /tmp directory “script.sh”
#!/usr/bin/env/bash
for I in $(cat /tmp/rule_numbers.txt)
do
echo "delete nat source rule $I"
done
Add execute flag. And execute script
sudo chmod +x /tmp/script.sh
sudo /tmp/script.sh
It shows you needed commands
vyos@r1:~$ sudo /home/vyos/test.sh
delete nat source rule 2000
delete nat source rule 2001
delete nat source rule 2200
thank you for solutions…
This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.