./priv/roles/NAT.sh in stacco-0.1.46 vs ./priv/roles/NAT.sh in stacco-0.1.47
- old
+ new
@@ -10,15 +10,32 @@
echo "Metadata location for vpc ipv4 range: ${VPC_CIDR_URI}"
VPC_CIDR_RANGE=$(curl --retry 3 --silent --fail ${VPC_CIDR_URI})
echo "Retrieved VPC CIDR range ${VPC_CIDR_RANGE} from meta-data."
-echo "Enabling NAT..."
-sysctl -q -w net.ipv4.ip_forward=1 net.ipv4.conf.eth0.send_redirects=0 && (
- iptables -t nat -C POSTROUTING -o eth0 -s ${VPC_CIDR_RANGE} -j MASQUERADE 2> /dev/null ||
- iptables -t nat -A POSTROUTING -o eth0 -s ${VPC_CIDR_RANGE} -j MASQUERADE ) ||
- die "Could not execute iptables commands to enable address translation"
+echo "Enabling NAT in sysctl..."
-sysctl net.ipv4.ip_forward net.ipv4.conf.eth0.send_redirects
+cat >/etc/sysctl.d/90-nat.conf <<EOF
+net.ipv4.ip_forward = 1
+net.ipv4.conf.eth0.send_redirects = 0
+EOF
+
+service procps start
+sleep 1
+sysctl -p
+
+echo "Adding NAT iptables rules..."
+
+cat >/etc/rc.local <<EOF
+#!/bin/sh -e
+
+iptables -t nat -C POSTROUTING -o eth0 -s ${VPC_CIDR_RANGE} -j MASQUERADE 2>/dev/null ||
+iptables -t nat -A POSTROUTING -o eth0 -s ${VPC_CIDR_RANGE} -j MASQUERADE
+
iptables -n -t nat -L POSTROUTING
+
+exit 0
+EOF
+
+/etc/rc.local
echo "Configuration of NAT complete."