Skip to content

Instantly share code, notes, and snippets.

@hugot
Created April 30, 2022 13:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hugot/447f2290e1223d340ddd810537241b39 to your computer and use it in GitHub Desktop.
Save hugot/447f2290e1223d340ddd810537241b39 to your computer and use it in GitHub Desktop.
Make a linux system act as a NAT router for another node
#!/bin/bash
if [[ $# -ne 1 ]]; then
echo 'Usage: '"$0"' IP_ADDRESS' >&2
exit 1
fi
ip="$1"
set -x
sudo iptables -F FORWARD
sudo iptables -P FORWARD DROP
sudo iptables -t nat -F PREROUTING
sudo iptables -t nat -F POSTROUTING
sudo iptables -I FORWARD -i ens2 -o ens2 -m conntrack --ctstate DNAT -j ACCEPT
#sudo iptables -A FORWARD -m conntrack --ctstate NEW,RELATED,ESTABLISHED -d "$ip" -j LOG --log-prefix "Home Gateway "
sudo iptables -t nat -p tcp -I PREROUTING -i ens2 -m multiport --dports 80:42070 -j DNAT --to-destination "$ip"
sudo iptables -t nat -p udp -I PREROUTING -i ens2 -m multiport --dports 80:42070 -j DNAT --to-destination "$ip"
sudo iptables -o ens2 -t nat -I POSTROUTING -d "$ip" -j MASQUERADE
sudo iptables-save | sudo tee /etc/iptables/rules.v4
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment