Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: настройка iptables для сервера  (Прочитано 4653 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн allegator

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
настройка iptables для сервера
« : 06 Сентября 2011, 17:50:31 »
Добрый день! Установил Ubuntu Server, squid, почту... встал острый вопрос с настройкой iptables. Главная задача закрыть доступ из вне и чтоб банк-клиент через iptables работал. th0- инет , th1- локалка
net.ipv4.ip_forward = 1
Задал следующие правила:
iptables -F
iptables -X
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT

имеем: запрещено всё кроме порта в локальной сети через который squid раздает инет 8080
Далее банк клиент конектится к серверу 84.42.51.XX через порт 3290 .... как добавить новое правило чтоб тачка с ip 192.168.1.50 ходила на этот сервер через этот порт?
Есть еще банк клиент который конектиться к ФТП серверу своему...тож не понятно как для него создать правила.
И как открыть доступ к серваку из вне через 22 порт ?
Помогите люди добрые.




Оффлайн Vovans

  • Активист
  • *
  • Сообщений: 311
  • zenway.ru
    • Просмотр профиля
    • Про Linux по-русски
Re: настройка iptables для сервера
« Ответ #1 : 06 Сентября 2011, 18:14:52 »
Цитировать
имеем: запрещено всё кроме порта в локальной сети через который squid раздает инет 8080

ну, само мобой )) толко этот порт и открыт )) а остальное же всё DROPается )))

Гули по форвардинку портов. Проброс портов в iptables.

По ssh как-то так:

$IPT -A INPUT -i $INET_IFACE -p tcp --dport 22 -j ACCEPT
Для работы фтп желательно загрузить вот эти модули:

nf_nat_ftp
nf_conntrack_ftp

и порт, соответственно, открыть, как в примере с ssh.

А вообще, задача типовая, ничего особенного в ней нет, мануалов куча. Проще нагуглить и разобраться.
« Последнее редактирование: 06 Сентября 2011, 18:17:16 от Vovans »

Оффлайн allegator

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: настройка iptables для сервера
« Ответ #2 : 06 Сентября 2011, 18:37:16 »
как раз хрен разберешься...понаписано всего толком не понятно...
Яж спросил вроде точно..можно написать как решить эту задачу: банк клиент конектится к серверу 84.42.51.XX через порт 3290 .... как добавить новое правило чтоб тачка с ip 192.168.1.50 ходила на этот сервер через этот порт?

что такое $INET_IFACE ?

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: настройка iptables для сервера
« Ответ #3 : 06 Сентября 2011, 19:16:35 »
Цитировать
что такое $INET_IFACE ?
ifconfig -a | grep "^[a-z]" | awk '{print $1}'Одну выбирать на $INET_IFACE заменить.
Wars ~.o

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: настройка iptables для сервера
« Ответ #4 : 06 Сентября 2011, 19:43:09 »
ТС, рекмендую проштудировать работу Iptables. Мне в своё время статья в wiki помогла.
Без понимания процесса - туго Вам будет защищаться, обороняться и особенно среди защитных рычагов комфортно работать.

Оффлайн Vovans

  • Активист
  • *
  • Сообщений: 311
  • zenway.ru
    • Просмотр профиля
    • Про Linux по-русски
Re: настройка iptables для сервера
« Ответ #5 : 06 Сентября 2011, 21:40:22 »
Цитировать
Яж спросил вроде точно..можно написать как решить эту задачу

не думаю, что за вас тут кто-то захочет писать правила для ipt.

Я же сказал, гуглите на тему форвардинга (проброски) портов и iptables. Сразу кучу всего гугл выведет. Есть вполне конкретные статьи и ветки форумов на этот счёт.

Оффлайн just_men

  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: настройка iptables для сервера
« Ответ #6 : 06 Сентября 2011, 21:55:58 »
задача и правда банальна, надо малясь почитать и все, но для начала
банк клиент конектится к серверу 84.42.51.XX через порт 3290 .... как добавить новое правило чтоб тачка с ip 192.168.1.50 ходила на этот сервер через этот порт?

а протокол то какой - tcp udp ... ибо протокол надо прописывать обязательно в правиле iptables. для примера:

/sbin/iptables -t nat -A POSTROUTING -j SNAT -p tcp --dport 3290 -s 192.168.1.50 -d 84.42.51.XX --to $INET_IFACE
если конечно протокол tcp. правило прописывается в цепочке POSTROUTING таблицы nat.
$INET_IFACE - ip-адресс сетевого интерфейса в сети Интренет.

ну и пока писал - мои мысли прочитал уважаемый Vovans ...

Оффлайн Vovans

  • Активист
  • *
  • Сообщений: 311
  • zenway.ru
    • Просмотр профиля
    • Про Linux по-русски
Re: настройка iptables для сервера
« Ответ #7 : 06 Сентября 2011, 21:59:47 »
Да не то, чтобы прочитал )) я сразу же об этом писал, а потом чуть яснее сформулировал ))) Ведь задача-то обыденная. Столько уже всего писано-переписано. Была бы конкретная проблема, можно было бы помочь. А так - настройте мне сервер. Ну, как-то лень переписывать то, чего уже полно в сети, но человек сам не хочет...

Оффлайн just_men

  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: настройка iptables для сервера
« Ответ #8 : 06 Сентября 2011, 22:05:23 »
ну я как мог - ответил, ждем ответа от автора, а то в офтоп уйдем ... :)

Оффлайн allegator

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: настройка iptables для сервера
« Ответ #9 : 07 Сентября 2011, 09:42:17 »
начал разбираться.... дошел до момента  какие настройки надо прописать на тачке .....шлюз понятно...а днс чей? провайдера ? если его то как тачка получит к нему доступ ?

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: настройка iptables для сервера
« Ответ #10 : 07 Сентября 2011, 09:54:41 »
1. На тачке песок и мусор возят, а не настройки прописывают.
2. Параметр ДНС у клиента вносится в зависимости от структуры локальной сети. Если в сети есть свой DNS-шлюз, то его, если нет, то клиенту предоставляется доступ к провайдерскому ДНС

Оффлайн ventru22

  • Новичок
  • *
  • Сообщений: 25
    • Просмотр профиля
Re: настройка iptables для сервера
« Ответ #11 : 07 Сентября 2011, 12:17:13 »
iptables -t nat -A POSTROUTING -s 192.168.1.50 -p tcp -m tcp --dport 3290 -j MASQUERADE

в теории этого достаточно для работы клиент банка, по идее и для фтп тоже, 22 порт можно напрямую пробросить до компа с клиент банком

iptables -t nat -A PREROUTING -d $IP_server -p tcp -m tcp --dport 22 -j DNAT --to-destination $IP_local_pc:22

в теории должно работать  :)
« Последнее редактирование: 07 Сентября 2011, 12:29:18 от ventru22 »

Оффлайн allegator

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: настройка iptables для сервера
« Ответ #12 : 07 Сентября 2011, 12:36:16 »
Спасибо! почитал доки с пробросом  портов и  худо бедно разобрался....заработало.. Осталось разобраться с банк-клиентам который работает через фтп... доков мало по этому поводу.. написано что надо
Поэтому необходимо подключить дополнительный вспомогательный модуль данном ip_nat_ftp.
Это осуществляется добавлением в файл /etc/sysconfig/iptables-config следующих строк:

# Additional iptables modules (nat helper)
# Default: -empty-
IPTABLES_MODULES="ip_nat_ftp"


в Ubuntu такого нет...
у него как я понял
modprobe nf_conntrack_ftp
modprobe nf_conntrack_pptp
modprobe nf_conntrack_proto_gre

но после рестарта всё пропадет...как правильно подключить эти модули?
« Последнее редактирование: 07 Сентября 2011, 13:52:27 от allegator »

Оффлайн Vovans

  • Активист
  • *
  • Сообщений: 311
  • zenway.ru
    • Просмотр профиля
    • Про Linux по-русски
Re: настройка iptables для сервера
« Ответ #13 : 07 Сентября 2011, 20:14:18 »
А куда вы пишете правила Iptables? В отдельный скрипт? Если да, то где-то вначале можно прописать modprobe ip_nat_ftp.  Ну, или в /etc/rc.local до exit 0.

Оффлайн Yuriy_Y

  • Старожил
  • *
  • Сообщений: 1736
    • Просмотр профиля
    • Новоишимка
Re: настройка iptables для сервера
« Ответ #14 : 07 Сентября 2011, 20:46:31 »
modprobe nf_conntrack_ftp
modprobe nf_conntrack_pptp
modprobe nf_conntrack_proto_gre
но после рестарта всё пропадет...как правильно подключить эти модули?

sudo nano /etc/modulesИ все имена модулей туда.
С уважением, Юрий.

 

Страница сгенерирована за 0.062 секунд. Запросов: 25.