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


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Помогите с iptables  (Прочитано 986 раз)

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

Оффлайн achilles_85

  • Автор темы
  • Любитель
  • *
  • Сообщений: 61
    • Просмотр профиля
Помогите с iptables
« : 26 Октябрь 2011, 17:56:02 »
Собираюсь поднять сервер на ubuntu server 10.04. За сервером будет одна машина. Из внешки к этой машине должен быть доступ только на 2 порта - 9907 и 6230. На эти порты будут ходить 6 IP адресов статических. И на сервере надо дать доступ порту 22 для ssh, этим же 6-ти адресам.
eth0 - сетевой интерфейс с инетом, адрес статический 91.***.***.***
eth1 - смотрит во внутреннюю сеть 192.168.200.1
Адреса: 80.79.***.*** ; 109.70.***.*** ; 81.24.***.*** ; 83.234.***.*** ; 83.234.***.*** ; 83.234.***.***
Доступ к серверу должен быть закрыт для всех кроме этих адресов что я указал выше.
Набросал конфиг iptables
(Нажмите, чтобы показать/скрыть)

Помогите советом, все ли правильно делаю.

Оффлайн aSmile

  • Активист
  • *
  • Сообщений: 750
    • Просмотр профиля
Re: Помогите с iptables
« Ответ #1 : 26 Октябрь 2011, 18:08:29 »
А где
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
?

Оффлайн xeon_greg

  • Активист
  • *
  • Сообщений: 981
    • Просмотр профиля
Re: Помогите с iptables
« Ответ #2 : 26 Октябрь 2011, 18:19:12 »
да тут много чего нет, что нужно.  аутпут дропать-то зачем,?? шлюз не доверяет сам себе и банкомату? и ему(шлюзу) интернет тоже не нужен что-ли ?
Цитировать
--dport 9907,6230
такое допустимо только с -m multiport

Оффлайн achilles_85

  • Автор темы
  • Любитель
  • *
  • Сообщений: 61
    • Просмотр профиля
Re: Помогите с iptables
« Ответ #3 : 26 Октябрь 2011, 22:21:45 »
Вот так?
(Нажмите, чтобы показать/скрыть)
С аутпутом может ты прав, что то я не подумал.

aSmile а что дает это правило?
И что мне еще нужно добавить в конфиг?

Оффлайн aSmile

  • Активист
  • *
  • Сообщений: 750
    • Просмотр профиля
Re: Помогите с iptables
« Ответ #4 : 26 Октябрь 2011, 22:24:07 »
aSmile а что дает это правило?

Ты FORWARD разрешил только в одну сторону, а обратно где разрешающее правило?

Оффлайн achilles_85

  • Автор темы
  • Любитель
  • *
  • Сообщений: 61
    • Просмотр профиля
Re: Помогите с iptables
« Ответ #5 : 26 Октябрь 2011, 22:28:53 »
Ок, понял, добавлю. А с остальной частью как? Это мой первый самостоятельный конфиг, без помощи не справлюсь.

Оффлайн xeon_greg

  • Активист
  • *
  • Сообщений: 981
    • Просмотр профиля
Re: Помогите с iptables
« Ответ #6 : 26 Октябрь 2011, 22:33:30 »
Вот так?
(Нажмите, чтобы показать/скрыть)
С аутпутом может ты прав, что то я не подумал.

aSmile а что дает это правило?
И что мне еще нужно добавить в конфиг?
да так , 
Цитировать
Адреса: 80.79.***.*** ; 109.70.***.*** ; 81.24.***.*** ; 83.234.***.*** ; 83.234.***.*** ; 83.234.***.***
Доступ к серверу должен быть закрыт для всех кроме этих адресов что я указал выше.
и думаю фильтровать так уж на входе прям , а не в форварде, и 22 порт и проброс разрешать, тоже только с этих адресов

Оффлайн achilles_85

  • Автор темы
  • Любитель
  • *
  • Сообщений: 61
    • Просмотр профиля
Re: Помогите с iptables
« Ответ #7 : 26 Октябрь 2011, 22:38:20 »
Если тебе не трудно напиши для одного из адресов как фильтровать на входе и проброс

Оффлайн xeon_greg

  • Активист
  • *
  • Сообщений: 981
    • Просмотр профиля
Re: Помогите с iptables
« Ответ #8 : 26 Октябрь 2011, 23:02:06 »
iptables -A INPUT -i eth0 -s 80.79.***.*** -p tcp --dport 22 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -i eth0 -s 80.79.***.*** -m multiport --dports 9907,6230 -j DNAT --to-destination 192.168.200.2

Оффлайн achilles_85

  • Автор темы
  • Любитель
  • *
  • Сообщений: 61
    • Просмотр профиля
Re: Помогите с iptables
« Ответ #9 : 26 Октябрь 2011, 23:09:31 »
А эта часть конфига нужна?
(Нажмите, чтобы показать/скрыть)

Оффлайн xeon_greg

  • Активист
  • *
  • Сообщений: 981
    • Просмотр профиля
Re: Помогите с iptables
« Ответ #10 : 26 Октябрь 2011, 23:15:55 »
можно просто заменить на sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
лучше даже так
« Последнее редактирование: 26 Октябрь 2011, 23:19:39 от xeon_greg »

Оффлайн achilles_85

  • Автор темы
  • Любитель
  • *
  • Сообщений: 61
    • Просмотр профиля
Re: Помогите с iptables
« Ответ #11 : 26 Октябрь 2011, 23:20:04 »
Спасибо за помощь. Завтра попробую. Отпишусь.

Пользователь решил продолжить мысль 27 Октябрь 2011, 09:02:24:
Поэкспериментировал. С этим конфигом работает как надо.
(Нажмите, чтобы показать/скрыть)


Соединяюсь по ssh и с машиной за серваком с одного IP 192.168.0.125
На машине за серваком инет есть. Можно ли сделать так, чтобы инет работал только в направлении 192.168.0.125 <-->192.168.200.2 по этим двум портам? Нужно максимально оградить от внешнего мира эту машину.

И как сделать чтобы до сервера с инета пинг шел?
« Последнее редактирование: 27 Октябрь 2011, 09:02:24 от achilles_85 »

Оффлайн xeon_greg

  • Активист
  • *
  • Сообщений: 981
    • Просмотр профиля
Re: Помогите с iptables
« Ответ #12 : 27 Октябрь 2011, 14:54:18 »
Цитировать
И как сделать чтобы до сервера с инета пинг шел?
sudo iptables -A INPUT -i eth0 -p icmp --icmp-type 0 -j ACCEPT
sudo iptables -A INPUT -i eth0 -p icmp --icmp-type 8 -j ACCEPT
если нужен пинг только со своих ip , то добавить ip источника
Цитировать
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -o eth1 -j ACCEPT
эти 2 можешь удалить, они все равно не используются.
Цитировать
Соединяюсь по ssh и с машиной за серваком с одного IP 192.168.0.125
На машине за серваком инет есть. Можно ли сделать так, чтобы инет работал только в направлении 192.168.0.125 <-->192.168.200.2 по этим двум портам? Нужно максимально оградить от внешнего мира эту машину.
вот тут не совсем понял, ты же раньше совсем другое писал и ip были другие, и топология вроде другая.. а теперь
Цитировать
eth0 -j SNAT --to-source 192.168.0.37
до твоего шлюза еще-что-то?

Оффлайн achilles_85

  • Автор темы
  • Любитель
  • *
  • Сообщений: 61
    • Просмотр профиля
Re: Помогите с iptables
« Ответ #13 : 27 Октябрь 2011, 15:04:45 »
это я экспериментировал дома. Роутер стоит 192.168.0.1, дал серваку адрес 192.168.0.37, подключаюсь к нему с 192.168.0.125, за серваком комп 192.168.200.2 :)
В боевых условиях перепишу все адреса как надо. Нужно чтобы машина за сервером ходила в инет только на нужные мне адреса, остальные дропнуть.
А вот насчет этого
# Разрешаем доступ из внутренней сети наружу
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.0.37
сам сомневаюсь нужно или нет

Оффлайн xeon_greg

  • Активист
  • *
  • Сообщений: 981
    • Просмотр профиля
Re: Помогите с iptables
« Ответ #14 : 27 Октябрь 2011, 15:12:38 »
конечно нужно. это же нат. без него машина за сервером никому ничего не ответит. вернее ответит, но ее никто не услышит дальше сервера
Цитировать
Нужно чтобы машина за сервером ходила в инет только на нужные мне адреса, остальные дропнуть.
так эти правила
Цитировать
iptables -A INPUT -i eth0 -s 192.168.0.125 -p tcp --dport 22 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -i eth0 -s 192.168.0.125 -m multiport --dports 9907,6230 -j DNAT --to-destination 192.168.200.2
и разрешают работу только с этим адресом..
« Последнее редактирование: 27 Октябрь 2011, 15:14:18 от xeon_greg »

 

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