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


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

Автор Тема: HOWTO: Iptables для новичков  (Прочитано 521807 раз)

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

Оффлайн chikatillo

  • Участник
  • *
  • Сообщений: 139
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1815 : 30 Октября 2012, 18:13:02 »
Добрый день!
Настраиваю  доступ удаленных юзеров к терминалу северу 1с через openvpn.
Есть шлюз wan и локальная сеть eth, хочу что бы был безопасный доступ только к порту сервера терминалов, что сделал:
IPTABLES:
$IPTABLES -A FORWARD -i tap0 -p TCP --dport 3389 -s 10.10.0.2 -j ACCEPT где 10.10.0.2 айпи клиента openvpn, tap0 интерфейс openvpn
$IPTABLES -t nat -A POSTROUTING -o tap0 -j MASQUERADE
все цепочки в DROP в конфиге фаервола
В Настройках openvpn server:
push "route 192.168.100.0 255.255.255.0" где 192.168.100.0 - локальная сеть
push "route-gateway 10.10.0.1"
Проверяю клиента - действительно доступ только к порту 3389 к любому компу из локальной сети..
Из локальной сети есть полный доступ к подключенному клиенту...
Хотелось бы сделать что бы из локалки его не было видно, а так же не просто открыть порт 3389 в локальную сеть а именно только на терминальный сервер

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: HOWTO: Iptables для новичков
« Ответ #1816 : 30 Октября 2012, 18:20:59 »
Хотелось бы сделать что бы из локалки его не было видно
Каким образом его видно?

а так же не просто открыть порт 3389 в локальную сеть а именно только на терминальный сервер
LESS='-p -d.*destination' man iptables

Оффлайн chikatillo

  • Участник
  • *
  • Сообщений: 139
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1817 : 30 Октября 2012, 18:36:13 »
Хотелось бы сделать что бы из локалки его не было видно
Каким образом его видно?

Таким $IPTABLES -t nat -A POSTROUTING -o tap0 -j MASQUERADE и push "route 192.168.100.0 255.255.255.0" вроде же, все локальные компы могут лазить по шарам подключенного клиента и т.д.
Запретить компам локальной сети доступ к клиентам впн, т.е. прохождение пкаетов только от терминального сервера по 3389 порту..
« Последнее редактирование: 30 Октября 2012, 18:39:07 от chikatillo »

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: HOWTO: Iptables для новичков
« Ответ #1818 : 30 Октября 2012, 18:44:03 »
sudo iptables-save -cПокажет, какое из правил пропускает пакеты.

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1819 : 30 Октября 2012, 19:00:33 »
push "route 192.168.100.0 255.255.255.0" вроде же, все локальные компы могут лазить по шарам подключенного клиента и т.д.
Запретить компам локальной сети доступ к клиентам впн, т.е. прохождение пкаетов только от терминального сервера по 3389 порту..
Если закрыть глаза на название топика, то предлагаю изменить команду на
push "route 192.168.100.15 255.255.255.255"где 192.168.100.15 - терминальный сервер.

Если не закрывать на название темы, то показывайте все правила

Оффлайн chikatillo

  • Участник
  • *
  • Сообщений: 139
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1820 : 30 Октября 2012, 19:11:51 »
push "route 192.168.100.0 255.255.255.0" вроде же, все локальные компы могут лазить по шарам подключенного клиента и т.д.
Запретить компам локальной сети доступ к клиентам впн, т.е. прохождение пкаетов только от терминального сервера по 3389 порту..
Если закрыть глаза на название топика, то предлагаю изменить команду на
push "route 192.168.100.15 255.255.255.255"где 192.168.100.15 - терминальный сервер.

Если не закрывать на название темы, то показывайте все правила
Точно, тоже вариант,хотя получится что с терминала клиенты будут полностью видны...
« Последнее редактирование: 30 Октября 2012, 19:13:57 от chikatillo »

Оффлайн lavaed

  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1821 : 05 Декабря 2012, 14:02:01 »
Парни поделитесь мыслями по поводу такой вот вещи!
 Есть комп с ubuntu 10.04 на борту на котором соединение в интернет через ppp0, в локальную сеть провайдера по eth2, и своя домашняя локальная сеть по wlan0. На компе стоит dns сервер dhcp для домашней локальной сети по wlan0, ну и конечно iptables.
 Как реализовать такую идею, чтобы определенный клиент из домашней локальной сети wlan0 при запросе из браузера к сайтам находящимся в интернете ppp0, перехватывался и перенаправлялся на локальный сервер т.е. установленный на моем же компе?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28510
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1822 : 05 Декабря 2012, 15:30:29 »
Э... а при чём тут iptables?
Делаешь подмену DNS, вопрос решен.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн lavaed

  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1823 : 05 Декабря 2012, 18:17:29 »
Э... а при чём тут iptables?
Делаешь подмену DNS, вопрос решен.
Я почему-то подумал про iptables потому-что там можно перенаправлять трафик по нужному руслу, только проблема в одном, я не знаю куда будет сделан запрос, и от чьего имени мне возвращать ответ, а с dns я полагаю я попробую, но как мне узнать какой адрес будет запрошен браузером, чтобы ему присвоить ip своего хоста?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28510
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1824 : 05 Декабря 2012, 18:45:45 »
lavaed, у меня стойкое впечатление складывается, что вы сами не знаете, чего хотите.
Прочитайте, пожалуйста, правила форума, и создайте для своего вопроса отдельный топик.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн lavaed

  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1825 : 06 Декабря 2012, 16:11:13 »
lavaed, у меня стойкое впечатление складывается, что вы сами не знаете, чего хотите.
Прочитайте, пожалуйста, правила форума, и создайте для своего вопроса отдельный топик.
Парни поделитесь мыслями по поводу такой вот вещи!
 Есть комп с ubuntu 10.04 на борту на котором соединение в интернет через ppp0, в локальную сеть провайдера по eth2, и своя домашняя локальная сеть по wlan0. На компе стоит dns сервер dhcp для домашней локальной сети по wlan0, ну и конечно iptables.
 Как реализовать такую идею, чтобы определенный клиент из домашней локальной сети wlan0 при запросе из браузера к сайтам находящимся в интернете ppp0, перехватывался и перенаправлялся на локальный сервер т.е. установленный на моем же компе?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28510
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1826 : 06 Декабря 2012, 16:23:03 »
lavaed, СОЗДАЙТЕ ОТДЕЛЬНУЮ ТЕМУ.
Правила форума, кажется, просты и понятны, нет?
Один топик - один вопрос.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн funakoshi

  • Участник
  • *
  • Сообщений: 173
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1827 : 28 Января 2013, 14:32:59 »
Всем привет.
Имею настроенный сервер 12.04.1. Работает в качестве шлюза - раздает инет в офисе.  Сервер достался от предыдущего админа, работает исправно. Трогать боюсь, ибо работает - не трогай, а то поломаешь :)) Необходимо пробросить порт из внешки в локалку (и наоборот). Имею следующие правила. Iptables никак "побороть" не могу, несколько раз пытался читать руководства - как рыба об лед. Предполагаю вписать следующее в секцию nat, между 17 и 18 строкой:
-A PREROUTING -p tcp -d $EXT_ip --dport XXX -j DNAT --to-destination 192.168.5.52:XXXмежду 18 и 19:
-A POSTROUTING -p tcp --to-destination 192.168.5.52:XXX -j SNAT --to-source $EXT_ipЕстественно, $EXT_ip и XXX заменятся на реальные значения.
Есть подозрения, что вторая строка не нужна - в имеющихся правилах и так все пакеты из локалки кидаются во внешку. Хотя могу ошибаться.
Верны ли мои предположения?
Заранее спасибо.
Знание - это только преддверие ума

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28510
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1828 : 28 Января 2013, 15:05:58 »
Вторая строка не только не нужна - она вредна.
И вообще правила составлял человек без воображения.

*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -m state --state INVALID -j DROP
-A PREROUTING -m state --state RELATED,ESTABLISHED -j ACCEPT
-A PREROUTING -i eth1 -p tcp -m tcp --dport XXX -j DNAT --to-destination 192.168.5.52:YYY
-A PREROUTING -s 192.168.5.0/24 ! -d 192.168.5.0/24 -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
-A POSTROUTING -s 192.168.5.0/24 ! -d 192.168.5.0/24 -o eth1 -j SNAT --to-source $EXT_ip
COMMIT
*filter
:INPUT DROP [2382155:305167208]
:FORWARD DROP [2857410:1198086582]
:OUTPUT ACCEPT [902261:130447531]
-A INPUT -m state --state RELATED,ESTABLISHED,DNAT -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -s 192.168.5.0/24 -i eth0 -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -o eth1 -p tcp -m tcp -m multiport --dports 53,123,443 -j ACCEPT
-A FORWARD -i eth0 -o eth1 -p udp -m udp -m multiport --dports 53,123 -j ACCEPT
COMMIT

YYY не обязательно должно быть равно XXX.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн funakoshi

  • Участник
  • *
  • Сообщений: 173
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1829 : 29 Января 2013, 11:03:24 »
AnrDaemon, спасибо. В очередной раз потратил целую ночь на осмысление внесенных вами изменений:) . На сервер пока еще изменения не вносил. Вызывает опасения один момент:
Смогу ли я достучаться до сервера по ssh после этого:
*filter
:INPUT DROP [2382155:305167208]
Я так понимаю сервер начнет все новые соединения просто дропать. Или это "строка, вырванная из контекста"? :)
« Последнее редактирование: 29 Января 2013, 11:06:19 от tref2me »
Знание - это только преддверие ума

 

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