LINUX.ORG.RU
ФорумAdmin

iptables и раздача инета с фильтрацией по mac


0

1

Здравствуйте други! Помогите советом. Имеется сервак на Debian Lenny. На нем есть скрипт который глядя на mac'и или дает инет компу или нет. Надо его видоизменить чтобы для неразрешенных маков была возможность получать с инета почту, работать в клиент-банках (Бест-звитах, обновлять касперского и т.д).

Скрипт:

#!/bin/bash

# --- Firewall script ----

ipt=/sbin/iptables

macs=`cat /usr/local/sbin/allowed_mac`

$ipt -P FORWARD ACCEPT

$ipt -F

$ipt -F -t nat

$ipt -A POSTROUTING -t nat -o ppp0 -j MASQUERADE

$ipt -A PREROUTING -t nat -i ppp0 -p tcp --dport 3389 -j DNAT --to-destination 192.168.9.2:3389

# --- Allow all traffic to/from servers network

$ipt -A FORWARD -i eth1 -j ACCEPT

$ipt -A FORWARD -o eth1 -j ACCEPT

# --- allow internet only allowed mac address for mac in $macs

do

$ipt -A FORWARD -o ppp0 -m mac --mac-source $mac -j ACCEPT

done

$ipt -A FORWARD -i ppp0 -j ACCEPT

# --- block smtp access ---

$ipt -A INPUT -i ppp0 -p tcp --dport 25 -j DROP

Ответ на: комментарий от anton_jugatsu

по-моему, $ipt -A FORWARD -o ppp0 -m mac --mac-source $mac -j ACCEPT разрешает форвард через ppp0 только по макам, остальное по дефолту запрещено должно быть

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

# Generated by iptables-save v1.4.2 on Wed Oct 19 21:22:00 2011 *mangle :PREROUTING ACCEPT [18941590:12124944958] :INPUT ACCEPT [135038:10037279] :FORWARD ACCEPT [18803779:12111940644] :OUTPUT ACCEPT [138959:12817628] :POSTROUTING ACCEPT [18942573:12124750904] COMMIT # Completed on Wed Oct 19 21:22:00 2011 # Generated by iptables-save v1.4.2 on Wed Oct 19 21:22:00 2011 *filter :INPUT ACCEPT [135034:10037087] :FORWARD DROP [0:0] :OUTPUT ACCEPT [138961:12817876] -A INPUT -i ppp0 -p tcp -m tcp --dport 25 -j DROP -A FORWARD -i eth1 -j ACCEPT -A FORWARD -o eth1 -j ACCEPT -A FORWARD -o ppp0 -m mac --mac-source 00:80:48:12:C2:2A -j ACCEPT -A FORWARD -o ppp0 -m mac --mac-source 00:24:21:B8:EA:2B -j ACCEPT -A FORWARD -o ppp0 -m mac --mac-source 00:24:8C:98:38:DD -j ACCEPT -A FORWARD -o ppp0 -m mac --mac-source 00:15:F2:14:7E:ED -j ACCEPT -A FORWARD -o ppp0 -m mac --mac-source 00:04:75:D7:3B:E0 -j ACCEPT -A FORWARD -o ppp0 -m mac --mac-source 00:22:15:96:CD:1E -j ACCEPT -A FORWARD -o ppp0 -m mac --mac-source 00:1B:FC:89:62:F1 -j ACCEPT -A FORWARD -o ppp0 -m mac --mac-source 00:18:F3:3E:62:B7 -j ACCEPT -A FORWARD -o ppp0 -m mac --mac-source 00:26:18:5D:B4:20 -j ACCEPT -A FORWARD -o ppp0 -m mac --mac-source 00:30:4F:20:35:CE -j ACCEPT -A FORWARD -o ppp0 -m mac --mac-source 00:24:8C:98:55:77 -j ACCEPT -A FORWARD -o ppp0 -m mac --mac-source 00:1D:60:47:9B:60 -j ACCEPT -A FORWARD -o ppp0 -m mac --mac-source 00:24:21:F0:C0:8B -j ACCEPT -A FORWARD -o ppp0 -m mac --mac-source 40:61:86:01:F7:BE -j ACCEPT -A FORWARD -o ppp0 -m mac --mac-source 00:24:21:F0:C0:DC -j ACCEPT -A FORWARD -o ppp0 -m mac --mac-source 00:11:D8:0A:66:B7 -j ACCEPT -A FORWARD -o ppp0 -m mac --mac-source 00:24:21:F0:C0:DA -j ACCEPT -A FORWARD -o ppp0 -m mac --mac-source 00:30:4F:20:49:5B -j ACCEPT -A FORWARD -o ppp0 -m mac --mac-source 00:80:48:12:88:09 -j ACCEPT -A FORWARD -o ppp0 -m mac --mac-source 00:04:61:62:22:D5 -j ACCEPT -A FORWARD -o ppp0 -m mac --mac-source E0:CB:4E:D5:65:0D -j ACCEPT -A FORWARD -o ppp0 -m mac --mac-source E0:CB:4E:D5:65:08 -j ACCEPT -A FORWARD -o ppp0 -m mac --mac-source 00:04:61:62:22:D5 -j ACCEPT -A FORWARD -o ppp0 -m mac --mac-source 00:1D:60:24:DA:AB -j ACCEPT -A FORWARD -o ppp0 -m mac --mac-source 00:24:21:B8:E9:96 -j ACCEPT -A FORWARD -o ppp0 -m mac --mac-source 00:24:21:B8:E9:90 -j ACCEPT -A FORWARD -o ppp0 -m mac --mac-source 00:13:8F:57:DE:30 -j ACCEPT -A FORWARD -o ppp0 -m mac --mac-source 00:1D:60:24:DA:AB -j ACCEPT -A FORWARD -o ppp0 -m mac --mac-source F4:6D:04:5C:FD:B7 -j ACCEPT -A FORWARD -o ppp0 -m mac --mac-source 00:02:44:74:82:C9 -j ACCEPT -A FORWARD -o ppp0 -m mac --mac-source 00:24:21:B8:E9:92 -j ACCEPT -A FORWARD -o ppp0 -m mac --mac-source 00:30:4F:20:42:B6 -j ACCEPT -A FORWARD -o ppp0 -m mac --mac-source 00:23:8B:F7:1E:0F -j ACCEPT -A FORWARD -i ppp0 -j ACCEPT COMMIT # Completed on Wed Oct 19 21:22:00 2011 # Generated by iptables-save v1.4.2 on Wed Oct 19 21:22:00 2011 *nat :PREROUTING ACCEPT [222644:50543745] :POSTROUTING ACCEPT [130934:44958113] :OUTPUT ACCEPT [78997:4781249] -A PREROUTING -i ppp0 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.9.2:3389 -A POSTROUTING -o ppp0 -j MASQUERADE COMMIT # Completed on Wed Oct 19 21:22:00 2011

Stranger03 ()

Задачу

получать с инета почту, работать в клиент-банках

нужно сформулировать в терминах ip-адресов, протоколов, портов. И не все задачи можно будет решить с помощью iptables. Если вам нужна почта на mail.ru, причём через web-интерфейс, то открыв tcp порт 80 на http://www.mail.ru вы откроете доступ ко всей уютненькой майлрушечке, а не только к почте.

mky ★★★★★ ()

Вы блин упорки, осильте лоркод уже.

wlan ★★ ()

Короче, ebtables(хотя, может и не понадобится), iptables + маркировка пакетов помогут(ну может ещё ipset, не помню умеет ли он хранить маки). С одних маков пропускаешь трафик, с других направляешь в отдельную цепочку и дело с концом.

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

Ребят, а сквид может фильтровать по мак адресам? Если да, то на мой взгляд будет красивше все это дело пустить через него - запилить прозрачный прокси. Я мыслю в правильном направлении?

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

Нуу фильтровать по макам он умеет... Но я не вижу смысла в использовании сквида если можно легко обойтись фаерволом.

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

На днях задача усложнилась. Тем юзверям кто с инетом, инет порезать - закрыть социалки, ххх, твиттеры и т.д., тем кто без инета - доступ к почте (поп3, смтп), клиент-банки (443 и хз какие еще), и пара рабочих сайтов. Я думаю айпитаблесом разрешить форвардинг наружу для всех, перенаправить 80, 8080 порты на сквид. Тобишь инет через проксю, проксей фильтруем кому шо давать, а остальные сервисы по другим портам гуляют свободно. Ну как-то так...

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

Да не, ты молодец, сам справился. Обычно я скептически к таким топикам отношусь потому что люди даже элементарных вещей не понимают и объяснять бесполезно, проще сделать. А полное нежелание людей учиться почему-то напрягает.

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

У меня желание учиться присутствует, а вот времени на это категорически не хватает (работаю в аутсорсе, целыми днями в разьездах). Начальство поставит такую задачку и вертись как хотиш, а посоветоваться/проконсультироваться нескем. Так что наверное я вас буду еще тревожить. :)

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