7 июл. 2011 г.

Раздача интернета в Debian

Делал по примеру и дорабатывал под себя. Моей задачей было раздавать интернет используя несколько интерфейсов и несколько провайдеров.

Наиболее лучшый способ настройки будет через скрипт. Я думаю iptables уже установлены в системе. echo добавлены для быстрого нахождения места ошибок в работе.

Брифинг:
eth0 - выход в локальную сеть. Интернет будет на неё приходить сразу. Медиа ресурсы в сети обсчитываться не будут провайдером.
eth1 - домашняя сеть
ppp0 - постоянное подключение к интернету, на тарифе с минимальной абонентской платой и с подключеным статическим ip для доступа домой.
ppp1 - анлим.

Листинг скрипта для нескольких провайдеров:

#!/bin/sh
echo "Start iptables rules"

#Разрешаем форвардинг в ядре
echo "...stage 1"
echo 1 > /proc/sys/net/ipv4/ip_forward

#Чистим все таблицы
echo "...stage 2"
/sbin/iptables -F
/sbin/iptables -t nat -F
/sbin/iptables -t mangle -F
/sbin/iptables -X
/sbin/iptables -t nat -X
/sbin/iptables -t mangle -X

echo "...stage 3"
# Указываем интерфейс смотрящий в первый канал
/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

# Указываем интерфейс смотрящий во второй канал
/sbin/iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

# Указываем интерфейс смотрящий в третий канал
/sbin/iptables -t nat -A POSTROUTING -o ppp1 -j MASQUERADE

echo "...stage 4"
# Указываем интерфейс смотрящий в домашнюю сеть
/sbin/iptables -A FORWARD -o eth1 -j ACCEPT

echo "...DONE"

Далее сохраняем скрипт например под именем /etc/init.d/iptables-rules и добавляем его в автозагрузку например вот так

# chmod +x /etc/init.d/iptables-rules
# update-rc.d iptables-rules defaults


Это дополнение к статье http://stealthxblog.blogspot.com/2011/07/blog-post_07.html

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

Отправить комментарий