Если разговор ведётся исключительно про один хост, то можно плюнуть на принципы использования таблиц и отфильтровать мак-адрес в правиле маскарада:
iptables -t nat -A POSTROUTING -m mac --mac-source 00:0F:E9:40:F9:0F -o eth0 -j MASQUERADE
Нет, дело в том что нужно никого не пускать кроме определённых mac адресов.
Пользователь решил продолжить мысль 25 Августа 2014, 15:45:31:
2 fisher74
#Включаем форвардинг пакетов
echo 1 > /proc/sys/net/ipv4/ip_forward
#Разрешаем траффик на lo
iptables -A INPUT -i lo -j ACCEPT
# Запрещаем HTTP через NAT
iptables -A FORWARD -i eth1 -p tcp --dport 80 -j REJECT
#Разрешаем доступ из внутренней сети наружу определённым адресам
iptables -t filter -A FORWARD -m mac --mac-source 00:0F:E9:40:F9:0F -j ACCEPT
iptables -t filter -A FORWARD -m mac --mac-source 00:0F:E9:50:F9:0F -j ACCEPT
iptables -t filter -A FORWARD -m mac --mac-source 00:0F:E9:60:F9:0F -j ACCEPT
#Включаем NAT
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE
#Разрешаем ответы из внешней сети
iptables -A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
#Запрещаем доступ снаружи во внутреннюю сеть
iptables -A FORWARD -i eth0 -o eth1 -j REJECT
Подскажите так будет работать, к сожалению мне уже нужно решение иначе я бы не играл в "угадай мелодию", извиняюсь если что то не так...