LinuxForum.Fans
Тема

Выход из локальной сети в интеренет только для определенных адресов

Автор: kerogaz 33 сообщений 3765 просмотров
#303370

Сработает ли например комбинация

text
 hosts.deny 
 ALL  : ALL

вместе с

text
hosts.allow
ALL:  192.168.1.4, 193.168.1.10  etc

или есть более лучший или надежный способ?

#303407

У меня почему-то если в hosts.deny прописать например

text
ALL:  192.168.1.20

для этого хоста перекрываетсся только ssh а интернет работает

#303429

Другими словами, как задать IP адреса локальной сети (довольно болшое количество ) , которым разрешено выходить через NAT в интеренет? Потому что мне кажется что методо рассмотренном выше, не будет вообще видно интернета

#303431
kerogaz написал:
Другими словами, как задать IP адреса локальной сети (около 500 ) , которым разрешено выходить через NAT в интеренет?

А если роутер настроить?

#303433
Wolfenberg написал:
[quote=kerogaz]Другими словами, как задать IP адреса локальной сети (около 500 ) , которым разрешено выходить через NAT в интеренет?

А если роутер настроить?[/quote]
Да вот как 500 идущих не по порядку адресов из разных подсеток туда вколбасить? У меня этих адресов 2 страницы в тексте, и если в hosts.allow чере буфер их можно ввести, то туда же надо ввести адреса всех сайтов куда народ ходит, а это нереально

#303438

Просто.
Настроить на сервере шлюз, а к нему подключить роутер, который будет видеть ваши локальные подсети.
По такому же принципу провайдеры сети строят.

#303440
Wolfenberg написал:
Просто.
Настроить на сервере шлюз, а к нему подключить роутер, который будет видеть ваши локальные подсети.
По такому же принципу провайдеры сети строят.

Роутер типа Cisco ( я имею ввиду железо ) или программу ? Ведь NAT это тоже своего рода роутер и можно в iptables закрыть FORWARD ( -j DROP) для определенных адресов. Такой метод эффективен для малых сеток, а для больших это что искать иголку в стогу сена

#303445

NAT - это не роутер, а правило предоставления доступа в сеть.
Если у вас такой бардак с сетями, то поставьте для каждой подсети отдельный роутер, подключите их ко входному
маршрутизатору, к которому будет уже подключен ваш шлюз напрямую.

#303551
Wolfenberg написал:
поставьте для каждой подсети отдельный роутер, подключите их ко входному
маршрутизатору, к которому будет уже подключен ваш шлюз напрямую.

Меня интересует лишь сугубо программное решение

#303593

У нас был скрипт, который привязывал MAC адреса к IP компьютеров локальной сети и еслм МАС соответствовал IP то компьютеру разрешено проходить через NAT (статическое распределение адресов) . Но потом этот скрипт потерялся. Может у кого-то он имеется. Причем скрипт не очень сложный, я помню чел его написал за один вечер

#303596

kerogaz, не пиши несколько сообщений подряд. Для этого есть кнопка "Изменить" внизу справа каждого твоего сообщения.

#303598
"kerogaz" написал:
У нас был скрипт, который привязывал MAC адреса к IP компьютеров локальной сети и еслм МАС соответствовал IP то компьютеру разрешено проходить через NAT
(статическое распределение адресов)
text

...
...
for MAC in `cat mac.lst`; do
  iptables -A FORWARD -i eth0 -o eth1 -m mac --mac-source $MAC -j ACCEPT
done
...
...
iptables -P FORWARD  DROP
...
#303629
i2ks написал:
[quote="kerogaz"]У нас был скрипт, который привязывал MAC адреса к IP компьютеров локальной сети и еслм МАС соответствовал IP то компьютеру разрешено проходить через NAT
(статическое распределение адресов)
text

...
...
for MAC in `cat mac.lst`; do
  iptables -A FORWARD -i eth0 -o eth1 -m mac --mac-source $MAC -j ACCEPT
done
...
...
iptables -P FORWARD  DROP
...

[/quote]

Этот скрипт я так понял надо вставить в iptables? А где размещать ( и в каком виде )список разрешенных MAC адресов?

#303635

Этот скрипт я так понял надо вставить в iptables?

да

"kerogaz" написал:
список разрешенных MAC адресов?

содержание файла mac.lst
AA:AA:AA:AA:AA:AA
AA:AA:AA:AA:AA:A1
AA:AA:AA:AA:AA:A2
AA:AA:AA:AA:AA:A3
и т.д
размещать, да где угодно, ну например здесь: /root/tmp/mac.lst и в скрипте указать путь к нему:

text

...
for MAC in `cat /root/tmp/mac.lst`; do
...
#303646

Спасибо. Попробую Только не совсем понял как серию MAC адресов в формате 00:18:F3:A0:BB:85 разместить в вашей таблице,: через запятую до окончания строки или же один MAC адрес на строку?

#303647

вот так:

"kerogaz" написал:
один MAC адрес на строку
#303881

Одна неувязка вышла, arp дает MAC с маленькими буквами (...:d5), а nmap -sP ...большими (...:D5) и в ifcfg тоже большие.
Какими буквами писать адреса в файл mac.lst ?Мне удобнее из arp брать

#303889
"kerogaz" написал:
Какими буквами писать адреса в файл mac.lst ?Мне удобнее из arp брать

бери из arp, если что, то можно будет все перевести в верхний регистр вот так вот:

text

sed -ri 's/.*/\U&/' mac.lst

На всякий случай, если необходимо будет перевести в нижний регистр

text

sed -ri 's/.*/\L&/' mac.lst
#303919

Спасибо, я пробовал большими буквами отключить один адрес, вроде отключается (,брал из nmap -sP ...)

text
-A FORWARD -m mac --mac-source 00:1A:92:32:F0:53 -j DROP

А если всё с помощью вашего скрипта первести в верхний регистр, цифры наверное тоже переведутся и будет например не 7 а &?
Попробовал перевести . Всё в порядке, цифры остаются нетронутыми
Теперь у меня возник вопрос как корректно завести Ваш скрипт в iptables из командной строки? Тесктовым редактором опасно редактировать файл iptables

#303972

В некоторых дистрибутивах лучше делать такие вещи все-таки штатными средствами....
Например в openSuSe iptables управляется скриптом SuSEfirewall2... и конфигурационный файл расположен в другом месте в отличии от других дистрибутивов.
Что у Вас за дистрибутив?

Войдите или зарегистрируйтесь, чтобы ответить.