Dla mac-adresu tak.
Jeśli potrzebowałbyś wpuścić sieć np 192.168.0.0/24,
to byłoby:
Code: Select all
iptables -I INPUT -s 192.168.0.0/24 --protocol udp --destination-port 137 -m conntrack --ctstate NEW,RELATED,ESTABLISHED -j ACCEPT
Poza tym IMHO nie ma sensu robić dla każdego portu osobnych reguł, lepiej użyć modułu multiport, użycie np (tu w innym charakterze):
Code: Select all
-A PREROUTING ! -i lo -p tcp -m multiport --dports 22,113,445,1433,1512,2175,2176,3306,5432 -j SET --add-set wypad src
W ten sposób skrócisz sprawę do dwóch regułek, po jednej dla tcp i udp.
Jeśli natomiast chciałbyś filtrować po parach adres IP i mac-adres, to ja radziłbym brać ipseta, tablicę bitmap:ip,mac.
http://ipset.netfilter.org/ipset.man.html#lbAO
W nim zmieścisz nawet 60 tys wpisów, a FW i tak będzie widział to jako jedną regułkę.
Taka opcja jest dostępna, jeśli wszystkie kompy mają zawsze te same adresy IP, niezależnie od tego, jak je otrzymały.
W każdym routerze, jaki w życiu widziałem, można ustawić statycznie w dhcp pary adres Ip -mac-adres, żeby kompy w lanie można było wywoływać przykładowo po nazwach z /etc/hosts, albo użyć lokalnego serwera DNS dla sieci LAN.
Przy okazji, jak ten tutek ma przeżyć kilka lat, to przygotuj się do zmiany firewalla z iptables na nftables.
Za jakiś rok taka zmiana w Linuxie stanie się faktem.
http://wiki.nftables.org/wiki-nftables/ ... /Main_Page
IPv6 też się przyda w nieodległej przyszłości.
Pozdro
