This page is hosted for free by zzz.com.ua, if you are owner of this page, you can remove this message and gain access to many additional features by upgrading your hosting to PRO or VIP for just 32.50 UAH.

Linux - Что и как

Не работает? Начинай читать инструкцию.

Ограничить доступ к серверу - привязка IP к MAC адресу

Что делать, если Ваш сервер является шлюзом в локальной сети, а Вы хотите ограничить доступ к этому шлюзу или просто ограничить доступ к серверу. То есть разрешить только своим.

Указанный метод позволяет просто не пустить на сервер пользователей сети, которых нет в списке static.arp (ip+mac)

Предлагаю ознакомиться с предложениями моих партнёров

Но ip машине никто не сможет запретить присвоить, ведь сервер не эмулирует, что ip занята. Поэтому "захватчик ip" сможет видеть другие компы, создаст трудности реальному владельцу ip (если захватит чужую ip, а не свободную). Но дальше сервера (шлюз), никуда пробиться не сможет (точнее он даже сервера увидеть не сможет).

Привязка IP к MAC адресу.

1. Создать файл-список привязки IP к MAC (например /etc/ethers.local)

Вот пример строк из этого файла:

192.168.0.23 00:0c:6e:3f:cd:e5 #arm23
192.168.0.48 00:0d:88:82:da:a2 #arm48

2. Написать скрипт с таким содержанием: (например /etc/static.arp):

#!/bin/sh
# обнуляем всю таблицу arp
arp -ad > null
# к каждому компу в локальной сети привязываем несуществующий (нулевой)                
# MAC адрес
I=1
while [ $I -le 254 ]
do
arp -s 192.168.0.${I} 0:0:0:0:0:0
I=`expr $I + 1`
done
#  к реально существующему компу в сети из базы данных в файле
# /etc/ethers.local  привязываем
#  правильный MAC адрес
arp -f   /etc/ethers.local

3. Сделать этот файлик исполняемым, если не запускается то, выполните команду

ip neigh show

если выполнил, и получил ответ типа

192.168.0.16 dev eth0 lladdr 00:0d:87:3b:76:1f STALE
192.168.0.111 dev eth0 lladdr 00:1a:92:b4:d4:a4 REACHABLE
192.168.0.56 dev eth0 lladdr 00:17:31:da:60:a5 STALE
192.168.0.252 dev eth0 lladdr 00:18:19:f2:e9:c1 DELAY
192.168.0.120 dev eth0 lladdr 00:1d:60:f8:7a:01 STALE
192.168.0.6 dev eth0 lladdr 00:13:77:93:77:42 REACHABLE
192.168.0.112 dev eth0 lladdr 00:13:8f:b5:1d:89 STALE

то это плохо

открыть терминал, и выполнить /etc/static.arp

[root@local /]# /etc/static.arp
-bash: /etc/static.arp: /bin/sh^M: плохой интерпретатор: Нет такого файла или каталога
[root@local /]#

Судя по "^M", в вашем скрипте разделители строк, принятые в Виндовс, CR+LF. В *никс же принято использовать LF.

Это можно исправить командой

sed -i 's/\r//' /etc/static.arp

4. Прописать в файл /etc/rc.local такую строчку:

/etc/static.arp

Конечно желательно, чтобы привязки имен пользовательских хостов к ip-адресам были прописаны в файле /etc/hosts и это ускорит их поиск. Сервер не будет рассылать широковещательные запросы о локальных MAC адресах, т. к. все они статически жестко привязаны к ip-адресам. 

1. Не рассылаются широковещательные запросы, что экономит трафик и время на ответ сервера
2. Не позволяет пользователю менять свой ip-адрес, т. к. сервер все равно пакет будет отправлять на жестко привязанный MAC адрес.

Предлагаю ознакомиться с предложениями моих партнёров