Fix NAT to reference correct interfaces

This moves the NAT commands from terraform to setup.sh

Signed-off-by: Nahum Shalman <nshalman@equinix.com>
This commit is contained in:
Nahum Shalman 2021-04-07 14:11:09 +00:00
parent 5347fe6da7
commit 4d13239d77
3 changed files with 15 additions and 6 deletions

View File

@ -71,12 +71,9 @@ resource "null_resource" "tink_directory" {
destination = "/root/tink" destination = "/root/tink"
} }
provisioner "remote-exec" { provisioner "file" {
inline = [ source = "nat_interface"
"iptables -A FORWARD -i eth1 -o bond0 -j ACCEPT", destination = "/root/tink/.nat_interface"
"iptables -A FORWARD -i bond0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT",
"iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE",
]
} }
provisioner "remote-exec" { provisioner "remote-exec" {

View File

@ -0,0 +1 @@
bond0

View File

@ -110,6 +110,17 @@ setup_networking() (
else else
echo "$ERR tinkerbell network interface configuration failed" echo "$ERR tinkerbell network interface configuration failed"
fi fi
if [ -r .nat_interface ]; then
NAT_INTERFACE=$(cat .nat_interface)
fi
if [ -n "$NAT_INTERFACE" ] && ip addr show "$NAT_INTERFACE" &>/dev/null; then
# TODO(nshalman) the terraform code would just run these commands as-is once
# but it would be nice to make these more persistent based on OS
iptables -A FORWARD -i "$TINKERBELL_NETWORK_INTERFACE" -o "$NAT_INTERFACE" -j ACCEPT
iptables -A FORWARD -i "$NAT_INTERFACE" -o "$TINKERBELL_NETWORK_INTERFACE" -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o "$NAT_INTERFACE" -j MASQUERADE
fi
) )
setup_networking_manually() ( setup_networking_manually() (