Как добавить белый список маршрутизации на основе MAC-адресов с помощью DD-WRT и клиента OpenVPN?

Как добавить белый список маршрутизации на основе MAC-адресов с помощью DD-WRT и клиента OpenVPN?

На моем домашнем маршрутизаторе DD-WRT настроен клиент OpenVPN, который поддерживает VPN-соединение с моим рабочим местом.

Небольшая проблема: я не хочу, чтобы случайные неудачники, получающие доступ к моей беспроводной точке доступа, имели доступ к VPN моей компании. (Да, она достаточно хорошо защищена, но у меня есть основания предпринять дополнительные меры.)

Можно ли iptablesубедить запретить маршрутизацию на все исходные MAC-адреса, кроме нескольких выбранных, которые я укажу? Я пробовал использовать --mac-sourceпараметр следующим образом:

iptables -I FORWARD -i br0 -o tap0 -j REJECT
iptables -I FORWARD -i br0 -o tap0 -j ACCEPT --mac-source 00:01:02:03:04:05

Правило REJECTработает, а ACCEPTправило нет. (обратите внимание, что -Iпараметр используется для того, чтобы гарантировать, что ACCEPTправило предшествует REJECTправилу.)

У кого-нибудь еще был опыт создания подобного белого списка?

решение1

Насколько я понимаю, ваша проблема в том, что MAC-адреса являются допустимым вариантом только для таблиц PREROUTING и POSTROUTING. Я сделал это следующим неуклюжим способом...

  1. В таблице предварительной маршрутизации на входящем интерфейсе локальной сети выберите MAC-адрес машины, которую вы хотите пропустить, и используйте DNAT, чтобы изменить IP-адрес на тот, который вы выбрали, который в противном случае не использовался бы.

    -A PREROUTING -i eth1 -m mac --mac-source xx:xx:xx:xx:xx:xx -j DNAT -- на 192.168.2.200 -m comment --comment "машина, которой нужно разрешить доступ"

  2. В таблице FORWARD установите правило для принятия этого IP-адреса, а в противном случае — политику FORWARD, чтобы сбрасывать весь трафик.

    -A ПЕРЕСЫЛКА -s 192.168.2.200 -j ПРИНЯТЬ

Связанный контент