Форум сайта python.su
Прошу у сообщества помощи.
Дело в том, что я нашёл неплохую работёнку админом и мне дали домашнее задание для проверки моих знаний. Я уже давно ничего не админил, а вспомнить нужно до завтра.
Первая задача такая:
Есть сервер A, который через интерфейс eth0 подключён к интернет и через eth1 – к серверу B.Фактически, ответом будет список команд iptables на сервере A, но я уже всё забыл!!! Сейчас копаюсь в манах и, наверное, справлюсь, но всё-таки хотелось бы, чтобы кто-нить написал своё решение и я выберу лучшее.
На сервере A установлен Apache (порты 80 и 443), а на сервере два ftpd (порт 21).
Сервер B должен быть подключён к интернет через сервер A по средством NAT.
Офлайн
Офлайн
fbt, до
sysctl -w net.ipv4.ip_forward=1
Офлайн
а обязан ли ты использовать iptables или сгодится, что то другое. К примеру можно использовать на 2 канала route и zebra
Офлайн
Так, начитался и получил что-то вроде этого (192.168.1.2 – IP машины B):
# Разрешаем маршрутизацию
sysctl -w net.ipv4.ip_forward=1
# Разрешаем входящие пакеты уже открытых соединений
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
# Исходящий NAT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# Перенаправление входящего порта ftp (предположим сервер B имеет адрес 192.168.1.2)
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 21 -j DNAT --to-destination 192.168.1.2:21
# Остальное убиваем
iptables -t nat -P PREROUTING DROP
# Пропускаем входящие соединения на Апач машины A
iptables INPUT -i eth0 -p tcp -m multiport --dport 80,443 -j ACCEPT
# Убиваем все непринятые правилами выше входящие
iptables -P INPUT DROP
# Разрешаем все исходящие
iptables -P OUTPUT ACCEPT
Отредактировано (Ноя. 17, 2009 02:18:01)
Офлайн
sypper-pitВроде бы и не обязан, но это будет самое правильное.
а обязан ли ты использовать iptables или сгодится, что то другое.
Офлайн
iptables вообще сильный инструмент , думаю разберешься…
Офлайн
Я уже думал об этом, но пока не знаю, как это сделать… Не писать же руками модуль для iptables!
Я вот http://www.kernel.org/pub/linux/kernel/people/marcelo/linux-2.4/Documentation/networking/bonding.txt увидел и думаю, оно это, или не оно… Всё, спать пора…
Офлайн
Ну что, меня взяли, когда я предложил Quagga (спасибо sypper-pit за пинок в сторону Зёбры, форком которой, Квага и является).
Ещё вот тут мне предложили iproute2… Тоже интересная мысль, которая может заработать.
Ладно, мысли есть, а когда руки дойдут до этой проблемы (она реальная), тогда и выберу лучший вариант.
Офлайн
Настройка iproute2 для использования двух каналов подробно описана тут.
Офлайн