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
|