Я использую Linux Centos 6.3 в качестве интернет-шлюза с NAT. Я хочу разрешить определенному хосту иметь доступ к Интернету, но я не хочу использовать его IP-адрес, поскольку он может получить новый IP-адрес от DHCP-сервера. Вместо этого я хочу использовать правило для определенного MAC-адреса.
Я использовал следующее, но оно не работает:
iptables -t nat -A POSTROUTING -o $INTERNETDEVICE -j MASQUERADE
iptables -A INPUT -i $INTERNETDEVICE -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -d 10.1.1.0/24 -j ACCEPT
iptables -A FORWARD -m mac --mac-source {my mac address} -j ACCEPT
где ИНТЕРНЕТУСТРОЙСТВО - это устройство ppp для подключения к Интернету
Если вместо 4-го правила я ввожу
iptables -A FORWARD -s 10.1.1.39 -j ACCEPT
работает отлично. А вот с mac-адресом не работает.
Любая помощь будет оценена.
Нашла похожую проблему Вот.
Решением было добавить это правило в вашу цепочку:
iptables -A FORWARD -m state --state ESTABLISHED -s 0/0 -j ACCEPT
Другое дело было проверить, что модуль ipt_mac
загружен.