Подскажите по iptables

Здрасте, сразу хочу сказать что об iptales я знаю крайне мало и ещё несколько дней назад ничего не знал.

Как я понимаю в openSUSE SuSEfirewall2 генерируют правила для iptables на основе своих записей.
Для доступа к компьютеру с планшета я настроил ssh доступ. Открыл порт во для внутренней зоны (компьютер подключен по кабелю к интернету но так же и к роутеру по wifi) строчка FW_SERVICES_INT_TCP=“2324” в /etc/sysconfig/SuSEfirewall2. Дабы ограничить доступ только планшету (знаю, что это не самое надёжное) нашёл правило для iptables

iptables -A INPUT -i wlan0 -p tcp --dport 2324 -m mac ! --mac-source мак -j DROP

Всё вроде ок, работает.

Для фильмов настроил minidlna открыл порт tcp 8200 и upd 1900 через SuSEfirewall2, но вот ограничить доступ только для одного мака как я этого сделал для ssh не выходит.

Вот цепочки сгенерированных правил с добавленными мной:


Chain INPUT (policy DROP 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1        0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
2      118 14369 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate ESTABLISHED
3        2   112 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate RELATED
4       17  4867 input_int  all  --  wlan0  *       0.0.0.0/0            0.0.0.0/0           
5       70  7549 input_ext  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
6        0     0 LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0            limit: avg 3/min burst 5 LOG flags 6 level 4 prefix "SFW2-IN-ILL-TARGET "
7        0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0           
8        0     0 DROP       tcp  --  wlan0  *       0.0.0.0/0            0.0.0.0/0            tcp dpt:2324 MAC ! мак
9        0     0 DROP       tcp  --  wlan0  *       0.0.0.0/0            0.0.0.0/0            tcp dpt:8200 MAC ! мак
10       0     0 DROP       udp  --  wlan0  *       0.0.0.0/0            0.0.0.0/0            udp dpt:1900 MAC ! мак

Chain forward_int (1 references)
num   pkts bytes target     prot opt in     out     source               destination         
1        0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED icmptype 0
2        0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED icmptype 3
3        0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED icmptype 11
4        0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED icmptype 12
5        0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED icmptype 14
6        0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED icmptype 18
7        0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED icmptype 3 code 2
8        0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED icmptype 5
9        0     0 ACCEPT     all  --  wlan0  eth0    0.0.0.0/0            0.0.0.0/0            ctstate NEW,RELATED,ESTABLISHED
10       0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            PKTTYPE = multicast
11       0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            PKTTYPE = broadcast
12       0     0 LOG        tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            limit: avg 3/min burst 5 tcp flags:0x17/0x02 LOG flags 6 level 4 prefix "SFW2-FWDint-DROP-DEFLT "
13       0     0 LOG        icmp --  *      *       0.0.0.0/0            0.0.0.0/0            limit: avg 3/min burst 5 LOG flags 6 level 4 prefix "SFW2-FWDint-DROP-DEFLT "
14       0     0 LOG        udp  --  *      *       0.0.0.0/0            0.0.0.0/0            limit: avg 3/min burst 5 ctstate NEW LOG flags 6 level 4 prefix "SFW2-FWDint-DROP-DEFLT "
15       0     0 reject_func  all  --  *      *       0.0.0.0/0            0.0.0.0/0           


Почему правила для ssh срабатывают, а для minidlna нет? На сколько понял после применения правила из цепочки по остальным правилам не проверяется.

Как я понимаю в openSUSE SuSEfirewall2 генерируют правила для iptables на основе своих записей.

Так точно!

нашёл правило для iptables

но тут-то SuSEfirewall2 однако, поэтому пишите уже понятнее. черт побери! :wink:

Я не разобрался на с помощью SuSEfirewall2 фильтровать по маку, потому и воспользовался iptables напрямую.

Я посмотрел, действительно, с помощью переменной FW_CUSTOMRULES=/path/to/file можно добавлять правила iptables. А непосредственно напрямую - будут сброшены после первой перезагрузки (или вообще не применяться, точно не знаю).

http://linuxforum.ru/viewtopic.php?pid=246974#p246974