Use Vagrantfile provided
vagrant up
sudo apt install nginx -y
sudo iptables \
-A PREROUTING \
-t nat \
-p tcp \
-d 192.168.50.2 \
--dport 8080 \
-j DNAT \
--to-destination 192.168.50.11:80
Enable kernet's ip_forward flag
sudo sed -i 's/\#net.ipv4.ip_forward/net.ipv4.ip_forward/' /etc/sysctl.d/99-sysctl.conf
sudo iptables \
-A FORWARD \
-p tcp \
-d 192.168.50.11 \
--dport 80 \
-m state \
--state NEW,ESTABLISHED,RELATED \
-j ACCEPT
sudo iptables \
-A FORWARD \
-p tcp \
-d 192.168.50.12 \
--dport 80 \
-m state \
--state NEW,ESTABLISHED,RELATED \
-j ACCEPT
sudo iptables \
-A POSTROUTING \
-t nat \
-p tcp \
-d 192.168.50.11 \
--dport 80 \
-j SNAT \
--to-source 192.168.50.2
curl -XGET 192.168.50.2:8080 -I
Prerequisites: delete all existing PREROUTING rules
sudo iptables -L -v -n -t nat
sudo iptables -D PREROUTING 1 -t nat
sudo iptables -A PREROUTING -t nat -p tcp -d 192.168.50.2 --dport 8080 \
-m statistic --mode nth --every 2 --packet 0 \
-j DNAT --to-destination 192.168.50.12:80
sudo iptables -A PREROUTING -t nat -p tcp -d 192.168.50.2 --dport 8080 \
-j DNAT --to-destination 192.168.50.11:80
SNAT for node-2
sudo iptables \
-A POSTROUTING \
-t nat \
-p tcp \
-d 192.168.50.12 \
--dport 80 \
-j SNAT \
--to-source 192.168.50.2