среда, 12 декабря 2012 г.

Проброс портов с помощью iptables

Проброс портов на прокси сервере задача тривиальная и сводится к двум строчкам из командной строки. Я решил облегчить жизнь себе и написал простой скрипт итак:


echo -n 'Введите внешний IP: '
read ext_ip
echo -n 'Введите внутренний IP: '
read local_ip
echo -n 'Введите внешний порт: '
read ext_port
echo -n 'Введите порт перенаправления: '
read local_port
echo -n 'Введите название внутреннего интерфейса (смотрит в локалку): '
read local_interface
echo 'iptables -t nat -A PREROUTING -p tcp -d \033[31m'$ext_ip'\033[00m --dport \033[31m'$ext_port'\033[00m -j DNAT --to-destination \033[31m'$local_ip':'$local_port'\033[00m'
`iptables -t nat -A PREROUTING -p tcp -d $ext_ip --dport $ext_port -j DNAT --to-destination $local_ip:$local_port`
echo 'iptables -A FORWARD -i \033[31m'$local_interface'\033[00m -d \033[31m'$local_ip'\033[00m -p tcp --dport \033[31m'$ext_port'\033[00m -j ACCEPT'
`iptables -A FORWARD -i $local_interface -d $local_ip -p tcp --dport $ext_port -j ACCEPT`

echo -n "Записать изменения в iptables.up.rules? [Y/n]: "
read quest
if [ $1 -z "$quest" ]; then
quest=Y
fi
if [ "$quest" = "Y" ]; then
`iptables-save > /etc/iptables.up.rules`
echo 'Правила записаны'
else
echo 'Правила не записаны';
fi




 скачать скрипт файлом

Комментариев нет: