Перейти к собственно контенту

Архив

Метка: ip

При установке IP.Board (CMS для создания форума ) на шаге 10 из 13 скрипт установки выдает такую ошибку:

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

Причина проблемы кроется в кодировке базы данных MySQL , используемой для IP.Board. Чтобы избежать данную проблему нужно перед установкой выполнить следующий запрос для базы данных:

ALTER DATABASE DB_NAME DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Где DB_NAME является именем БД. Ошибки не возникнет и установка пройдет как надо.

Чтобы получить Mac адрес виндовой машины с машины с ОС FreeBSD ( на Linux возможно также, не проверял ) необходимо пропинговать IP адрес :

$ ping -c1 192.168.255.104
PING 192.168.255.104 (192.168.255.104): 56 data bytes
64 bytes from 192.168.255.104: icmp_seq=0 ttl=64 time=1.135 ms

--- 192.168.255.104 ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 1.135/1.135/1.135/0.000 ms
$

и поглядеть его в ARP таблице:
$ arp 192.168.255.104 | awk -F "at" $'{print$2}' | awk -F "on" $'{print$1}'
90:e6:ba:a0:2a:27
$

Также можно узнать NetBIOS имя компьютера вот такой командой:

$ nmblookup -A 192.168.255.104 | awk -F 'Looking up' '{print$1}' | awk -F '<00>' '{print$1}' | sed '2!d'
SHADOW
$

Собственно скрипт,который запишет в файл ip.txt соответсвия IP, MAC адресов и NetBIOS имен тех компьютеров,которые находяться в сети и ответили на ping
#!/bin/sh
for IP in $(seq 254)
do
ping -c1 192.168.255.$IP
MAC=`arp 192.168.255.$IP | awk -F "at" $'{print$2}' | awk -F "on" $'{print$1}'`
NAME=`nmblookup -A 192.168.255.$IP | awk -F 'Looking up' '{print$1}' | awk -F '<00>' '{print$1}' | sed '2!d'`
if [ ${MAC} != "(incomplete)" ]
then
echo 192.168.255.$IP ${MAC} ${NAME} >> ip.txt
fi
done

Устанавливаем сервер с портов

deathstar# cd /usr/ports/net/isc-dhcp41-server
deathstar# make install clean

И создаем конфиг (у меня он выглядит так):
deathstar# ee /usr/local/etc/dhcp.conf
## домен
option domain-name ruscoolection;
## выдаваемые ДНС сервера
option domain-name-servers 8.8.8.8 , 8.8.4.4;
## шлюз
option routers 192.168.255.100;
authoritative;
log-facility local7;
## диапазон IP которые выдавать,и маска подсети
subnet 192.168.255.0 netmask 255.255.255.0 {range 192.168.255.0 192.168.255.255;}
## Закрепленные IP по Mac адресу сетевых карт моего ПК и нетбука
host sysadmin {hardware ethernet 00:18:F3:E4:C0:C4; fixed-address 192.168.255.103;}
host eeepc {hardware ethernet F4:6D:04:26:A8:C3; fixed-address 192.168.255.250;}

В /etc/rc.conf добавляем
dhcpd_enable="YES"
dhcpd_conf="/usr/local/etc/dhcpd.conf"
## на каком интерфейсе будет слушать
dhcpd_ifaces="fxp1"
dhcpd_withumask="022"
dhcpd_devfs_enable="YES"
dhcpd_rootdir="/var/db/dhcpd"

И стартуем
deathstar# /usr/local/etc/rc.d/isc-dhcpd start
Starting dhcpd.
Internet Systems Consortium DHCP Server 4.2.1-P1
Copyright 2004-2011 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Wrote 0 deleted host decls to leases file.
Wrote 0 new dynamic host decls to leases file.
Wrote 5 leases to leases file.
Listening on BPF/fxp1/00:e0:18:5a:ca:72/192.168.255.0/24
Sending on BPF/fxp1/00:e0:18:5a:ca:72/192.168.255.0/24
Sending on Socket/fallback/fallback-net
deathstar#

Как видите — ничего сложного нет.