30 lines
742 B
Bash
30 lines
742 B
Bash
#!/bin/bash
|
|
# Script to handle iptables rules when working with lxc
|
|
|
|
show_usage() {
|
|
echo -e "usage: ./ipth.sh [4/6] [display]"
|
|
echo -e "usage: ./ipth.sh [4/6] [add/delete] [interface] [container IP] [port]"
|
|
echo -e "example: ./ipth.sh 4 add eth0 10.10.10.10 80"
|
|
}
|
|
|
|
if [ "$1" = "4" ]; then
|
|
program=iptables
|
|
ip=$4
|
|
elif [ "$1" = "6" ]; then
|
|
program=ip6tables
|
|
ip='['"$4"']'
|
|
else
|
|
show_usage
|
|
exit 1;
|
|
fi
|
|
|
|
if [ "$2" = "add" ]; then
|
|
$program -t nat -A PREROUTING -i $3 -p tcp --dport $5 -j DNAT --to $ip:$5
|
|
elif [[ "$2" = "del" || "$2" = "delete" || "$2" = "remove" ]]; then
|
|
$program -t nat -D PREROUTING -i $3 -p tcp --dport $5 -j DNAT --to $ip:$5
|
|
elif [[ "$2" = "show" || "$2" = "display" ]]; then
|
|
$program -t nat -L
|
|
else
|
|
show_usage
|
|
fi
|