Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Доступ в Интернет только доверенным MAC-адресам при использовании NAT  (Прочитано 3485 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн eserden

  • Автор темы
  • Новичок
  • *
  • Сообщений: 26
    • Просмотр профиля
Доброго времени суток.
Есть сервер на Ubuntu 12.04 который раздает интернет в локалку. Есть точка доступа со статическим IP. Весь интернет раздается NATом. адреса выдаются по DHCP (ISC DHCP Server).
Вопрос:
Хотелось-бы сделать авторизацию по MAC-адресу. Т.е есть mac в доверенных. есть доступ к Интернету нет MAC нет интернета. Возможно ли это сделать без использования Proxy ?
Заранее благодарен.
« Последнее редактирование: 14 Декабря 2012, 13:26:24 от eserden »

Оффлайн winmasta

  • Активист
  • *
  • Сообщений: 348
    • Просмотр профиля
natом всмысле iptables ?

Оффлайн eserden

  • Автор темы
  • Новичок
  • *
  • Сообщений: 26
    • Просмотр профиля
natом всмысле iptables ?
Да.

iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.0.0/24 -j MASQUERADE

Оффлайн censor

  • Старожил
  • *
  • Сообщений: 1126
    • Просмотр профиля
iptables -t filter -P FORWARD DROP
iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.1.0/24 -j MASQUERADE
iptables -t filter -A FORWARD -i ppp0 -o eth0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -t filter -A FORWARD -i eth0 -o ppp0 -m mac --mac-source E0:CB:4E:C0:BD:9D -j ACCEPT

Оффлайн eserden

  • Автор темы
  • Новичок
  • *
  • Сообщений: 26
    • Просмотр профиля
Спасибо. но одна проблема тогда ведь работают только существующие подключения. (т.е. перезагрузил клиентскую машину и на ней интернет пропал )

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Почему Вы так считаете?

Оффлайн eserden

  • Автор темы
  • Новичок
  • *
  • Сообщений: 26
    • Просмотр профиля
Почему Вы так считаете?
Проверил.
Дописываем в правило пропуск новых сессий (NEW)
iptables -t filter -A FORWARD -i ppp0 -o eth0 -m conntrack --ctstate NEW,RELATED,ESTABLISHED -j ACCEPT
и  все получилось все кто есть в списке. у тех есть Инет а кого нет- у того нет.

Пользователь решил продолжить мысль 18 Декабря 2012, 03:02:54:
Спасибо всем за помощь.
Но остался небольшой вопрос.
Не могу разобрать что делает эта строка
iptables -t filter -A FORWARD -i ppp0 -o eth0 -m conntrack --ctstate NEW,RELATED,ESTABLISHED -j ACCEPTЯ понимаю что это правило из таблицы filter  цепочка FORWARD из ppp0 в eth0 (почему именно снаружи вовнутрь а не наоборот.)
 
« Последнее редактирование: 18 Декабря 2012, 03:02:54 от eserden »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28331
    • Просмотр профиля
Почему Вы так считаете?
Проверил.
Значит, у вас другие правила мешают.
Так, как сказал fisher74, работать - должно.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Решение давал не я, а cencor, но должно работать
Не могу разобрать что делает эта строка
iptables -t filter -A FORWARD -i ppp0 -o eth0 -m conntrack --ctstate NEW,RELATED,ESTABLISHED -j ACCEPTЯ понимаю что это правило из таблицы filter  цепочка FORWARD из ppp0 в eth0 (почему именно снаружи вовнутрь а не наоборот.)
Правило добавляете Вы, а не мы. Как оно работает Вы правильно понимаете. Это правило в хлам рвёт всю защиту.
Для решения проблемы предлагаю показать все правила (iptables-save)

Оффлайн eserden

  • Автор темы
  • Новичок
  • *
  • Сообщений: 26
    • Просмотр профиля
 
[/quote]
Правило добавляете Вы, а не мы. Как оно работает Вы правильно понимаете. Это правило в хлам рвёт всю защиту.
Для решения проблемы предлагаю показать все правила (iptables-save)
[/quote]

# Generated by iptables-save v1.4.12 on Tue Dec 18 08:34:39 2012
*mangle
:PREROUTING ACCEPT [8263045:5812733304]
:INPUT ACCEPT [4223609:3025900454]
:FORWARD ACCEPT [4038325:2786377908]
:OUTPUT ACCEPT [5119336:5181754384]
:POSTROUTING ACCEPT [9147458:7967475645]
-A FORWARD -o ppp0 -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:65495 -j TCPMSS --clamp-mss-to-pmtu
COMMIT
# Completed on Tue Dec 18 08:34:39 2012
# Generated by iptables-save v1.4.12 on Tue Dec 18 08:34:39 2012
*filter
:INPUT ACCEPT [4218146:3025387132]
:FORWARD ACCEPT [3910828:2735631649]
:OUTPUT ACCEPT [5114649:5181270088]
-A FORWARD -p gre -j ACCEPT
COMMIT
# Completed on Tue Dec 18 08:34:39 2012
# Generated by iptables-save v1.4.12 on Tue Dec 18 08:34:39 2012
*nat
:PREROUTING ACCEPT [721999:49818258]
:INPUT ACCEPT [458352:29332677]
:OUTPUT ACCEPT [12926:1015778]
:POSTROUTING ACCEPT [12927:1015826]
-A PREROUTING -i ppp0 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.0.109
-A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE
-A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
COMMIT
# Completed on Tue Dec 18 08:34:39 2012

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
И где-же эти правила?

Оффлайн eserden

  • Автор темы
  • Новичок
  • *
  • Сообщений: 26
    • Просмотр профиля
Извините...
# Generated by iptables-save v1.4.12 on Tue Dec 18 10:50:30 2012
*filter
:INPUT ACCEPT [590:38695]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [565:43344]
-A FORWARD -p gre -j ACCEPT
-A FORWARD -i ppp0 -o eth1 -m conntrack --ctstate NEW,RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth1 -o ppp0 -m mac --mac-source C4:46:19:5A:8A:46 -j ACCEPT
-A FORWARD -i eth1 -o ppp0 -m mac --mac-source 1C:65:9D:23:AB:AE -j ACCEPT
-A FORWARD -i eth1 -o ppp0 -m mac --mac-source 14:D6:4D:EA:4B:5B -j ACCEPT
-A FORWARD -i eth1 -o ppp0 -m mac --mac-source 00:18:F3:F2:C4:15 -j ACCEPT
-A FORWARD -i eth1 -o ppp0 -m mac --mac-source 78:D6:F0:9F:E1:A3 -j ACCEPT
COMMIT
# Completed on Tue Dec 18 10:50:30 2012
# Generated by iptables-save v1.4.12 on Tue Dec 18 10:50:30 2012
*mangle
:PREROUTING ACCEPT [87169:11028141]
:INPUT ACCEPT [22394:1526023]
:FORWARD ACCEPT [64742:9458410]
:OUTPUT ACCEPT [21927:1638614]
:POSTROUTING ACCEPT [86794:11116254]
-A FORWARD -o ppp0 -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:65495 -j TCPMSS --clamp-mss-to-pmtu
COMMIT
# Completed on Tue Dec 18 10:50:30 2012
# Generated by iptables-save v1.4.12 on Tue Dec 18 10:50:30 2012
*nat
:PREROUTING ACCEPT [27789:2002575]
:INPUT ACCEPT [15830:1030752]
:OUTPUT ACCEPT [392:34135]
:POSTROUTING ACCEPT [390:33739]
-A PREROUTING -i ppp0 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.0.109
-A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE
-A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
COMMIT
# Completed on Tue Dec 18 10:50:30 2012
« Последнее редактирование: 18 Декабря 2012, 12:51:51 от eserden »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Предположу, что DNS находятся в локальной сети провайдера и отвечают на интерфейсе eth0, потому у клиентов и нет траффика.
Цитировать
sudo iptables -A FORWARD -i eth1 -o eth0 -m mac --mac-source xx:xx:xx:xx:xx:xx -j ACCEPT

Оффлайн eserden

  • Автор темы
  • Новичок
  • *
  • Сообщений: 26
    • Просмотр профиля
Предположу, что DNS находятся в локальной сети провайдера и отвечают на интерфейсе eth0, потому у клиентов и нет траффика.
Цитировать
sudo iptables -A FORWARD -i eth1 -o eth0 -m mac --mac-source xx:xx:xx:xx:xx:xx -j ACCEPT


 DNS  приходят через ppp0.
При использовании такой строки
iptables -t filter -A FORWARD -i ppp0 -o eth0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPTостаются жить только уже созданные соединения например RDP сессия. но стоит ее закрыть и обратно достучатся уже не получается.

traceroute 8.8.8.8 дальше шлюза не уходит. естественно на самом шлюзе интернет есть.
при добавлении параметра NEW
Цитировать
iptables -t filter -A FORWARD -i ppp0 -o eth0 -m conntrack --ctstate NEW,RELATED,ESTABLISHED -j ACCEPT
все становится хорошо клиенты имеют доступ в Сеть.
Я просто не могу понять что конкретно происходит.

iptables -t filter -P FORWARD DROPУказываю что весь трафик уходит на DROP

iptables -t filter -A FORWARD -i ppp0 -o eth1 -m conntrack --ctstate NEW,RELATED,ESTABLISHED -j ACCEPT разрешаю внешние соединения во внутрь (Новые,связаные,существующие) (Я так понимаю всем)
iptables -t filter -A FORWARD -i eth1 -o ppp0 -m mac --mac-source C4:46:19:5A:8A:46 -j ACCEPTразрешаю изнутри в наружу только определенным mac.

Все правильно ?



 

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Новые(NEW) из внешки НЕ НУЖНЫ для клиентов.
Вы уже определитесь, что Вы добиваетесь: доступ клиентов в сеть или RDP-сессии из вне на 192.168.0.109? Сначала сделайте одно, потом донастраивайте второе.

 

Страница сгенерирована за 0.072 секунд. Запросов: 25.