LINUX.ORG.RU
ФорумAdmin

Firewall на linux

 ,


0

1

Замучились страдать от капризов хрюши и было решено поставить на ЭВМ раздающую Интернет линукс. Решение внезапное, всё должно быть сделано срочно, поэтому манов почитать не успел и сразу спрашиваю советов мудрых.
Суть:
Есть ПК с двумя сетевухами. В одну входит провод с Интернетами другая идёт на свитч. Нужно разрешить доступ только определенным ip адресам. Я так понял, что копать нужно в сторону iptables. Дистр Slackware 14.1. Буду рад, как готовым рецептам так и ссылкам на годные маны/howto.
Спасибо заранее.

★★★★

Последнее исправление: fero (всего исправлений: 2)

iptables tutorial.

anonymous
()
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s <NET>/<MASK> -j MASQUERADE
iptables -A FORWARD -s <IP1>/<MASK> -j ACCEPT
iptables -A FORWARD -s <IP2>/<MASK> -j ACCEPT
iptables -A FORWARD -s <IP3>/<MASK> -j ACCEPT
iptables -A FORWARD -s <NET>/<MASK> -j DROP

или так:

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s <NET>/<MASK> -j MASQUERADE
iptables -P FORWARD DROP
iptables -A FORWARD -s <IP1>/<MASK> -j ACCEPT
iptables -A FORWARD -s <IP2>/<MASK> -j ACCEPT
iptables -A FORWARD -s <IP3>/<MASK> -j ACCEPT

kostik87 ★★★★★
()

всё должно быть сделано срочно

Arno’s iptables firewall. Если время есть, то Shoreline firewall.

Gotf ★★★
()
Ответ на: комментарий от kostik87

Большое спасибо, сейчас попробую.
3 ответа и все годные.
А явную привязку к интерфейсу делать не надо?

fero ★★★★
() автор топика
Последнее исправление: fero (всего исправлений: 1)
Ответ на: комментарий от fero

Нет. Если IP адресов много, что бы не писать правило для каждого можно воспользоваться ipset (списком адресов), вот почитайте http://mysyslog.ru/posts/244 хотя бы это.

kostik87 ★★★★★
()

всё должно быть сделано срочно, поэтому манов почитать не успел

Дистр Slackware 14.1

сделай вдоль. Кроме шуток.

emulek
()

А если я пропишу что-то вроде:

iptables -A INPUT -i eth1 -s 192.168.0.0/24 -j DROP

на машине с ip 192.168.0.1, будет ли она пинговаться машиной 192.168.0.2?

fero ★★★★
() автор топика
Ответ на: комментарий от fero

Будет. Шлюз - это маршрут по умолчанию, на который отправляются пакеты только в случае, если система, отправляющая пакеты не «видит» напрямую систему на которую пакеты отправляются.

kostik87 ★★★★★
()
Ответ на: комментарий от fero

Но правило в корне не верное в цепочку input попадают пакеты, адресованные серверу (шлюзу), если вы хотите, что бы ПК за шлюзом не имели доступа к внешней сети, то нужно блокировать прохождение пакетов в цепочке forward, о чём я вам и написал в примерах.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 1)
Ответ на: комментарий от fero

iptables -A INPUT -i eth1 -s 192.168.0.0/24 -j DROP

на машине с ip 192.168.0.1, будет ли она пинговаться машиной 192.168.0.2?

нет. ОНА не будет, потому-что В НЕЁ пинги идут как раз через INPUT

emulek
()

на ЭВМ раздающую Интернет линукс

годно. мужик. уважуха.

iptables

этого достаточно, обертки для его настройки не нужны.

vxzvxz ★★★
()
Ответ на: комментарий от kostik87

Это в том случае, если она шлюз.

там русским языком сказано «она». Правило на ней, и цепочка на ней. И DROP тоже на ней. С какого перепугу она будет пинговаться?

emulek
()
Ответ на: комментарий от ugoday

А чем слака здесь отличается от других дистров?

в другом дистре есть всякие susefirewall, в котором можно мышкой натыкать. Ну или на край всякие сетапы в Debian. В слаке есть только подробные маны. Если нет желания их читать, то можно смело делать вдоль.

emulek
()
Ответ на: комментарий от emulek

Если быть предельно честными, то этот генератор покрывает 95% случаев, так что, то что доктор прописал для ТСа)

anonymous
()
Ответ на: комментарий от anonymous

Если быть предельно честными, то этот генератор покрывает 95% случаев, так что, то что доктор прописал для ТСа)

ну пусть попробует...

Хотя вот выше ссылку дали уже: http://www.opennet.ru/docs/RUS/iptables

Там есть примеры, тоже годные. Но там хоть с объяснением.

emulek
()
Ответ на: комментарий от emulek

iptables в ближайшей перспективе будет выпилен из ядра и заменен на nftables, поэтому особого смысла сейчас его изучать нет.

anonymous
()
Ответ на: комментарий от anonymous

Тем не менее, режим совместимости обещан:

Running {ip,ip6}tables compatibility

The nftables project provides a backward compatibility layer that allows you run iptables/ip6tables (using the same syntax) over the nftables infrastructure:
nftables's Linux kernel tree
libmnl: the minimalistic Netlink library
libnftables: the user-space library for low-level interaction with nftables Netlink's API over libmnl.
iptables-nftables: the user-space utility that provides the xtables command line utility to add rule using {ip,ip6}tables syntax.

Насчёт ближайшей перспективы — это в 3.13 он войдёт параллельно с iptables, но сколько времени уйдёт на объявлением его стабильным, пока никому неизвестно...

bormant ★★★★★
()
Ответ на: комментарий от anonymous

iptables в ближайшей перспективе будет выпилен из ядра и заменен на nftables, поэтому особого смысла сейчас его изучать нет.

iptables(как и nftables) — просто UI к netfilter. Его давно надо было заменить на нормальный ЯП, что-бы писать нормальные правила обработки пакетов. Сама по себе iptables устарела ещё в 90е, это уже тогда было очевидно, что она годна лишь для тривиальных правил.

Но изучать iptables есть смысл. Во первых потому, почему надо изучать ассемблер(на котором никто не пишет), во вторых потому, что iptables заменят не раньше, чем лет через 10..15. На сегодня, этих твоих nftables, тупо нет, даже в тестовых дистрибутивах. А правила писать нужно.

emulek
()
Ответ на: комментарий от fero

Ирония неуместна, т.к. Патрег это сделает раньше твоего Марка.

emulek
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.