Делаем привязку ip адресов к mac адресам

Материал из support.qbpro.ru

Есть выделенный сервер с XCP (Xen Cloud Platform), есть диапазон ip выданный провайдером. Как сделать так, чтобы клиенты не могли поменять свой ip внутри xen машин? Привязка к mac адресу! Но как сделать, чтобы и mac адрес не сменили? Воспользуемся iptables на сервере XCP. Нам понадобится XCP версии минимум 1.1, в 1.0 ядро не поддерживает фильтрацию по mac адресам.

Делаем так:

Очищаем правила iptables:

iptables -F


Разрешаем клиенту с ip 46.4.180.227 и с mac адресом 11:11:11:11:11:11 и 2му клиенту с ip 46.4.180.228 и с mac адресом 22:22:22:22:22:22:

iptables -A FORWARD -m mac --mac-source 11:11:11:11:11:11 -s 46.4.180.227 -j ACCEPT
iptables -A FORWARD -m mac --mac-source 22:22:22:22:22:22 -s 46.4.180.228 -j ACCEPT


Если ip другой, но mac прежний, то запрещаем:

iptables -A FORWARD -m mac --mac-source 11:11:11:11:11:11 -j DROP
iptables -A FORWARD -m mac --mac-source 22:22:22:22:22:22 -j DROP


Блокируем все неиспользуемые ip (эти правила будут наверху цепочки):

iptables -I FORWARD -s 46.4.180.229 -j DROP
iptables -I FORWARD -s 46.4.180.230 -j DROP
iptables -I FORWARD -s 46.4.180.231 -j DROP


Цепочка FORWARD должна выглядеть так:

iptables -L -n


Chain FORWARD (policy ACCEPT)
target     prot opt source               destination                  
DROP       all  --  46.4.180.231         0.0.0.0/0           
DROP       all  --  46.4.180.230         0.0.0.0/0           
DROP       all  --  46.4.180.229         0.0.0.0/0                     
ACCEPT     all  --  46.4.180.227         0.0.0.0/0           MAC 11:11:11:11:11:11 
ACCEPT     all  --  46.4.180.228         0.0.0.0/0           MAC 22:22:22:22:22:22
DROP       all  --  0.0.0.0/0            0.0.0.0/0           MAC 11:11:11:11:11:11
DROP       all  --  0.0.0.0/0            0.0.0.0/0           MAC 22:22:22:22:22:22


Теперь доступ на внешку и из внешки к виртуальной машине возможен только при правильном ip и mac адресе внутри виртуальной машины.

взято тут