|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Pavel Vasilyev 2:5020/1042.65 07 May 2005 06:53:08 To : All Subject : iptables --------------------------------------------------------------------------------
Задача привязать IP и MAC адреса вместе, т.е. iptables должен
сравнить MAC и IP юзера, а на серваке ещё и интерфейс.
короче говоря логическое "И-HЕ" not IFACE and not IP and not MAC = 1
или векторно [IFACE,IP,MAC]-[char,dec,hex]=0
Вот как у меня:
#!/bin/sh
MAIN=83.237.4.11; MAIN_MAC=00:01:23:45:67:89; IF_MAIN=ppp0
NET=192.168.0.1; NET_MAC=00:09:18:27:36:45; IF_NET=eth0
U-3=192.168.0.3; U-3MAC=00:09:87:65:43:21
iptables -t mangle -A PREROUTING -i ! $IF_MAIN -s ! $MAIN -m mac \
--mac-source ! $MAIN_MAC -j DROP
iptables -t mangle -A PREROUTING -i ! $IF_NET -s ! $NET -m mac \
--mac-source ! $NET_MAC -j DROP
Как я понял, получится следующие: для всех интерфейсов кромя $IF_MAIN
и для всех адресов кроме $MAIN и всем MAC_ам кроме $MAIN_MAC
сделать DROP ( или REJECT --reject-with tcp-reset)
Можно и наоборот, сделать полный iptables -P PREROUTING DROP, потом вставлять
ACCEPT_ы как надо, т.е. если $IF_NAME и $MAIN и $MAIN_MAC тогда -j ACCEPT
(точно не помню, помоему даже -j ACCEPT не надо, хотя если по умолчанию стоит
DROP... )
P.S.
Еще проще... Если в PREROUTING приходит пакет из $IF_NAME и его IP и МАС адреса
совпадают(или нет) с задаными, то делать ACCEPT или DROP(REJECT).
Как у кого работает, киньте примерчиков.
Pavel
--- GoldED+/LNX 1.1.5-31012
* Origin: RZucoGA5Mbl#!XV)vtll;C'\Qne^6YM3UBD^?:p"l+{2pl#Jp0k (2:5020/1042.65)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/4568427c36ca.html, оценка из 5, голосов 10
|