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


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

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

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

Оффлайн merfo

  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #990 : 15 Декабря 2010, 22:37:04 »
Спасибо,
-t nat -A OUTPUT -d xx.xx.xx.xx -j DNAT --to-destination 127.0.0.1То что нужно.
При чём тут дыра, если мы говорим об ИСХОДЯЩИХ пакетах? Вопрос возник из-за того, что некий софт, исходники которого утеряны, ссылался на определённый ip, который уже мёртв. мне понадобилось перенаправить запросы таким макаром, вот и всё.

Оффлайн PePPeRmix

  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #991 : 19 Декабря 2010, 16:18:40 »
У МЕНЯ ЩА МОЗГ ВСКИПИТ!!!!  :idiot2:
Помогите плз
Суть такова
Inet-IP
LAN1-IP
LAN2-IP

в данный момент

-A POSTROUTING -s LAN2-IP -j SNAT --to-source Inet-IP

Вот так внешка работает, по логике отлично!

Но нужно чтобы когда идет запрос на внутренний адрес 10.*.*.*/8(LAN1-IP)

то нужно чтоб из LAN2-IP отправляло не в Inet-IP а в LAN1-IP есть идеи? извините что спрашиваю, уже вообще не соображаю, срочно надо, мозг ща вскипит...
\\\Или при таком раскладе можно забыть О SNAT?!
« Последнее редактирование: 19 Декабря 2010, 16:24:43 от PePPeRmix »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #992 : 19 Декабря 2010, 17:02:49 »
Почему же? Делай двойную проверку.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн PePPeRmix

  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #993 : 19 Декабря 2010, 17:11:24 »
В смысле двойную проверку?
Если SNAT четко указывает на LAN2-IP с которого идет запрос и эти запросы тупо перекидывает на Inet-IP
Т.е. проверять куда пакет направляется и затем кидать в другую цепочку, из которой будет уже выходить результат куди направлять на Inet-IP или на LAN1-IP... Так вот как сделать ту самую проверку?! На какой IP внешний(0.0.0.0) или на внутренний(10.0.0.0) идет запрос от LAN2-IP....
PS:Спасибо за внимание!
« Последнее редактирование: 19 Декабря 2010, 17:20:35 от PePPeRmix »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #994 : 19 Декабря 2010, 17:21:49 »
Так...
1. Прочитать документацию на iptables. Обратить внимание на ключевые понятия "цепочка", "таблица", "очередность применения правил".
2. Не ожидать, что тебе преподнесут решение на блюдечке с каёмочкой цвета по твоему выбору. Своя голова тоже должна быть на плечах.
Тем более что идея у тебя правильная, просто... недописанная.
Адрес источника проврить - проверил, а адрес назначения - ы?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн PePPeRmix

  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #995 : 19 Декабря 2010, 17:34:02 »
Мде... вот что значит пересидеть за серваком...  :o и когда гугл не отвечает на бональные вопросы в такие моменты...
iptables -t nat -I POSTROUTING -s LAN2-IP -d LAN1-IP -j SNAT --to-source LAN1-IP
Все знал, все читал, мудрил с цепочками, а параметр -d добавить не догадался  :idiot2:
« Последнее редактирование: 19 Декабря 2010, 18:49:12 от PePPeRmix »

Оффлайн maroshka

  • Новичок
  • *
  • Сообщений: 34
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #996 : 27 Декабря 2010, 18:55:24 »
Народ, ткните носом, где не дописал правила:
Есть небольшая сеть, Сервер, 2 сетевухи, с мира провайдер дает статику на ETH0, в локалке ETH1, курил разные маны и тутор, все вроде работает. Единственное, что не критично, но для понимания необходимо: не могу из LAN сети попасть на внешний IP, весь траффик попадает под политику DROP судя по всему в цепочках INPUT и OUTPUT не дописал чегото, недопонимаю, как это разрешить, сильно не пинайте... Спасибо
Листинг скрипта - ниже:
(Нажмите, чтобы показать/скрыть)


Пользователь решил продолжить мысль 28 Декабря 2010, 00:45:19:
оп, не дождался ответа, решил сам, видимо гдето не дочитал принцип прохождения пакетов. Путем добавления в скрипт таких строк:

$FW -A INPUT -i $LAN_INT -s $LAN_IP_RANGE -d $WAN_IP -p ALL -j ACCEPT
$FW -A OUTPUT -o $LAN_INT -s $WAN_IP -d $LAN_IP_RANGE -p ALL -j ACCEPT

такого вида прохождение пактов, если я правильно понимаю, не совсем безопасно, но для тестирования и понимания принципа прохождения пакетов оказалось полезным, всем спасибо, вопросов нет)))
« Последнее редактирование: 11 Января 2011, 23:34:26 от maroshka »
Ноутбук  Lenovo 3000 G530,2.00 GHz  Core 2 Duo,RAM: 2Gb, HDD: SATA Hitachi250 Gb, VideoCard: NVidia 9300 GS 256 Mb, WiFi: Broadcom BCM4315, VideoCam: Lenovo EasyCamera, Sound: Intel,Bluetooth

Оффлайн TiGRpp

  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #997 : 30 Декабря 2010, 13:42:35 »
Помогите создать правило.

Приветствую всех, с наступающим НГ.
Испытываю сложность с созданием правила редиректа пакетов с одного порта на другой для входящего и исходящего соединений.
Цель: запускать приложение от имени пользователя, что возможно с портом выше 1024, в данном случае - 4111, которое должно работать по порту tcp/411. То есть 4111 - внутренний порт, 411 - внешний. Интерфейс eth0, ip статический. Моим знакомым был предложен вариант iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 411 -j REDIRECT --to-ports 4111 Но судя по всему это только часть необходимого, относящаяся к входящим пакетам. Так же просьба разьяснить где и как включить фаерволл, и как включить правило в автозагрузку. Буду благодарен за решение. E-mail alex-04@list.ru Александр
TiGRpp --> dchub://favorite-hub.ru

Оффлайн maroshka

  • Новичок
  • *
  • Сообщений: 34
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #998 : 02 Января 2011, 12:07:39 »
Второе правило тогда видимо чтото вроде:
iptables -t nat -A POSTROUTING -p tcp -o eth0 --sport 4111 -j REDIRECT --to-port 411

Немного не понятно, что значит включить файерволл? а он у Вас выключен?
Для автозагрузки скрипта (т.е. исполняемого файла) пишите путь к нему в файле /etc/rc.local
А еще методично прорабатываем это:
http://iptables.ru/index.html#B1
http://easylinux.ru/node/190
http://www.opennet.ru/docs/RUS/iptables/
http://www.posix.ru/network/iptables/

« Последнее редактирование: 02 Января 2011, 12:11:22 от maroshka »
Ноутбук  Lenovo 3000 G530,2.00 GHz  Core 2 Duo,RAM: 2Gb, HDD: SATA Hitachi250 Gb, VideoCard: NVidia 9300 GS 256 Mb, WiFi: Broadcom BCM4315, VideoCam: Lenovo EasyCamera, Sound: Intel,Bluetooth

Оффлайн SergaNT404

  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #999 : 09 Января 2011, 00:45:07 »
Здравствуйте !  Ситуация следующая : имеется комп с двумя сетевухами eth0-внешка eth1-локальная сеть аипишники статические, dns от провайдера, инет раздается в локалку через nat , на этой же машине крутится почтовый сервер. под спойлером конфиг iptables
(Нажмите, чтобы показать/скрыть)

проблема в том, что клиенты не могут авторизоваться на сервере, так же нет доступа по https если поставить INPUT и FORWARD в ACCEPT все работает без поблем. Это мой первый опыт в настройке iptables, пожалуйста помогите найти ошибки в конфиге.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1000 : 09 Января 2011, 08:42:18 »
iptables-save
Сам почитай для начала.
Сравни с примером в https://forum.ubuntu.ru/index.php?topic=99586.0
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн maroshka

  • Новичок
  • *
  • Сообщений: 34
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1001 : 09 Января 2011, 12:05:38 »
iptables-save
Сам почитай для начала.
Сравни с примером в https://forum.ubuntu.ru/index.php?topic=99586.0

Да какая разница как его ставить в автозагрузку? тем unix  и хорош, что дает разные пути решения.

Пользователь решил продолжить мысль 09 Января 2011, 12:13:59:
Здравствуйте !  Ситуация следующая : имеется комп с двумя сетевухами eth0-внешка eth1-локальная сеть аипишники статические, dns от провайдера, инет раздается в локалку через nat , на этой же машине крутится почтовый сервер. под спойлером конфиг iptables
(Нажмите, чтобы показать/скрыть)

проблема в том, что клиенты не могут авторизоваться на сервере, так же нет доступа по https если поставить INPUT и FORWARD в ACCEPT все работает без поблем. Это мой первый опыт в настройке iptables, пожалуйста помогите найти ошибки в конфиге.

Непонятно зачем их удалять, по-моему если не создавать кучи новых цепочек, то достаточно только очищать?
iptables -X
iptables -t nat -X
iptables -t mangle -X
Вместо -m state --state более актуальный вариант -m conntrack --ctstate  разработчик советуте, но можно и так оставить
Это: echo 1 > /proc/sys/net/ipv4/ip_forward  и это: sysctl -w net.ipv4.ip_forward="1" - в принципе дествия ведущие в р-те к одному результату, так что можно одно убрать.
По-моему запись вида iptables -A FORWARD -o eth0 не верна изначально, что значит мы форвардим с исходящего интерфейса eth0? форвард - это форвард, на него попадаем через интерфейс, значит должно быть -i eth0 и далее эти же правила допустим с -i:
iptables -A FORWARD -i eth0 -m state --state NEW -p tcp --dport 25 -j ACCEPT
iptables -A FORWARD -i eth0 -m state --state NEW -p tcp --dport 110 -j ACCEPT
что они должны давать? зачем нам форвардить эти порты? отправка то должно происходить с сервера и прием тоже на сервеp т.е. цепочки INPUT и OUTPUT
В цепочках iptables -A INPUT -p tcp --dport 25 -m state --state NEW -j ACCEPT и iptables -A INPUT -p tcp --dport 110 -m state --state NEW -j ACCEPT видимо надобно указать внешний интерфейс т.к. изнутри вы итак все разрешили.
А в остальном все должно работать, выход на внутренний интерфейс с локалки и обратно открыты, 
На каком интерфейсе висит apache и почта? смотрят ли эти сервисы в локалку?, может просто сервисы настроены на внешний IP? из нутри сети есть пинг на внешний IP? если пинга нет, то возможно надо дописать правила входа/выхода на данный IP
     


« Последнее редактирование: 09 Января 2011, 12:47:17 от maroshka »
Ноутбук  Lenovo 3000 G530,2.00 GHz  Core 2 Duo,RAM: 2Gb, HDD: SATA Hitachi250 Gb, VideoCard: NVidia 9300 GS 256 Mb, WiFi: Broadcom BCM4315, VideoCam: Lenovo EasyCamera, Sound: Intel,Bluetooth

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1002 : 09 Января 2011, 16:06:53 »
При чём тут загрузка?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн kolyan_k

  • Участник
  • *
  • Сообщений: 147
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1003 : 10 Января 2011, 11:40:37 »
День добрый!  извините  если  задаю  глупый вопрос... не могу  разобраться:  в  локалке стоит  сервер открыт   Rdp   из интернета тоесть  вне локалке  попадаю, а  из локальной  сети  не пускает....?

#ALLOW ACCESS
sysctl -w net.ipv4.ip_forward="1"
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#DENAID IN

iptables -P INPUT DROP


#RDP ALLOW

iptables -t nat -A PREROUTING -d 192.168.254.2 -i eth1 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.0.10:3389

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1004 : 11 Января 2011, 08:09:12 »
iptables-save полностью показывай.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

 

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