Prosta, szybka autoryzacja IP <=> MAC
Sposób autoryzacji IP <=> MAC nie jest ciężki do obejścia, wręcz banalny ale w niektórych sytuacjach spokojnie wystarcza. Do niedawna rozwiązywałem to za pomocą pliku w którym trzymałem kombinacje IP, MAC i skryptu z pętlą for który zajmował kilka linijek. Dzisiaj postanowiłem uprościć wspomniany skrypt do jednej linijki. Oto ona:
awk '{ printf "iptables -A FORWARD -s " $1; if ( NF == 2 ) printf "-m mac --mac-source " $2; print "-j ACCEPT" }' /etc/lan_allow | bash
Dla przykładowego pliku lan_allow:
cat /etc/lan_allow
192.168.184.10 00:FF:80:31:20:EE
192.168.184.11
192.168.184.12
192.168.184.13 00:12:0B:F2:30:02
192.168.184.14 00:30:4F:11:09:0A
192.168.184.15
powyższa linijka wygeneruje:
iptables -A FORWARD -s 192.168.184.10 -m mac --mac-source 00:FF:80:31:20:EE -j ACCEPT
iptables -A FORWARD -s 192.168.184.11 -j ACCEPT
iptables -A FORWARD -s 192.168.184.12 -j ACCEPT
iptables -A FORWARD -s 192.168.184.13 -m mac --mac-source 00:12:0B:F2:30:02 -j ACCEPT
iptables -A FORWARD -s 192.168.184.14 -m mac --mac-source 00:30:4F:11:09:0A -j ACCEPT
iptables -A FORWARD -s 192.168.184.15 -j ACCEPT