Ik heb een bepaalde service die ik voor iedereen wil afsluiten, alleen voor bepaalde IP combinaties niet.
Nu gaat het om bijvoorbeeld poort 80.
Met de volgende 2 regels kan ik op mac controleren en op ip:
iptables -N mac_ip_server
waarbij mac_ip_server de naam van de nieuwe chain is.
Maar hoe kan ik binnen die chain die 2 rules definieren zodat er op gecheckt word en dat er bij een fout word gedropt en bij de juiste combinatie een ACCEPT plaats vind?
Nu gaat het om bijvoorbeeld poort 80.
Met de volgende 2 regels kan ik op mac controleren en op ip:
Hiermee kan ik controleren, maar ik zou hiervoor een nieuwe chain moeten aanmaken, dat moet met:mac
--mac-source [!] address
Match source MAC address. It must be of the form XX:XX:XX:XX:XX:XX. Note that this only makes sense for packets entering the PREROUTING, FORWARD or INPUT chains for packets coming from an ethernet device.
-s, --source [!] address[/mask]
Source specification. Address can be either a hostname, a network name, or a plain IP address. The mask can be either a network mask or a plain number, specifying the number of 1's at the left side of the network mask. Thus, a mask of 24 is equivalent to 255.255.255.0. A "!" argument before the address specification inverts the sense of the address. The flag --src is a convenient alias for this option.
iptables -A INPUT -p tcp --match mac --mac-source XX:XX:XX:XX:XX:XX --dport 100001 -j ACCEPT
iptables -A INPUT -p tcp --source yyy.yyy.yyy.yyy --dport 100001 -j ACCEPT
iptables -N mac_ip_server
waarbij mac_ip_server de naam van de nieuwe chain is.
Maar hoe kan ik binnen die chain die 2 rules definieren zodat er op gecheckt word en dat er bij een fout word gedropt en bij de juiste combinatie een ACCEPT plaats vind?