Доброго времени суток.
Делаю нечто похожее на сервер провайдера на базе Ubuntu 14.04 (NAT+DHCP+DNS). На данном этапе получилось реализовать доступ машин в инет по маку. Позже думаю ограничить машине скорость канала с помощью кальмара.
В общем проблема заключается в том, что узнать мак машины, которой разрешен доступ в инет не составит труда, используя пинг и арп внутри сети с любой машины. Как скрыть маки машин внутри сети?
Нагуглил arptables, но не нашел примеров по работе с ним.
/etc/iptables:
#!/bin/sh
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A INPUT -i lo -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -m mac --mac-source 08:00:27:32:74:07 -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -j REJECT
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.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
iptables-save:
# Generated by iptables-save v1.4.21 on Wed Mar 22 10:05:55 2017
*nat
:PREROUTING ACCEPT [119:8603]
:INPUT ACCEPT [22:2382]
:OUTPUT ACCEPT [38:2911]
:POSTROUTING ACCEPT [38:2911]
-A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
COMMIT
# Completed on Wed Mar 22 10:05:55 2017
# Generated by iptables-save v1.4.21 on Wed Mar 22 10:05:55 2017
*filter
:INPUT ACCEPT [137:24919]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [155:18479]
-A INPUT -i lo -j ACCEPT
-A FORWARD -i eth1 -o eth0 -m mac --mac-source 08:00:27:32:74:07 -j ACCEPT
-A FORWARD -i eth1 -o eth0 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -o eth1 -j REJECT --reject-with icmp-port-unreachable
COMMIT
# Completed on Wed Mar 22 10:05:55 2017