Есть небольшая утилита, которая существенно упрощает жизнь системному администратору. Если сеть небольшая, и диапазон IP-адресов небольшой, то можно не заморачиваться. А вот если блоки айпишек довольно большие, и соответственно полным ходом используется безклассовая маршрутизация, то без IPCalc уже не обойтись. IPCalc - небольшая утилита для оперирования IP-адресами и масками сетей. Согласен, в основном все считается в уме, но иногда лучше убедиться, что не было допущено ошибки.
Итак, приступаем к установке утилиты из портов:
# cd /usr/ports/net-mgmt/ipcalc/ && make install clean && rehash |
Устанавливается за считанные секунды... Что ж, ознакомимся с возможностями. Посчитаем, для примера, сколько хостов может быть в офисной сети :
# ipcalc 192.168.64.0 255.255.255.0 Address: 192.168.64.0 11000000.10101000.01000000. 00000000 Netmask: 255.255.255.0 = 24 11111111.11111111.11111111. 00000000 Wildcard: 0.0.0.255 00000000.00000000.00000000. 11111111 => Network: 192.168.64.0/24 11000000.10101000.01000000. 00000000 HostMin: 192.168.64.1 11000000.10101000.01000000. 00000001 HostMax: 192.168.64.254 11000000.10101000.01000000. 11111110 Broadcast: 192.168.64.255 11000000.10101000.01000000. 11111111 Hosts/Net: 254 Class C, Private Internet |
Эту же сеть можно "посчитать", указав количество бит в маске:
# ipcalc 192.168.64.0/24 Address: 192.168.64.0 11000000.10101000.01000000. 00000000 Netmask: 255.255.255.0 = 24 11111111.11111111.11111111. 00000000 Wildcard: 0.0.0.255 00000000.00000000.00000000. 11111111 => Network: 192.168.64.0/24 11000000.10101000.01000000. 00000000 HostMin: 192.168.64.1 11000000.10101000.01000000. 00000001 HostMax: 192.168.64.254 11000000.10101000.01000000. 11111110 Broadcast: 192.168.64.255 11000000.10101000.01000000. 11111111 Hosts/Net: 254 Class C, Private Internet |
Еще пример. Сколько сетей /27 получится из одной сети /24? Как оказалось - 8:
# ipcalc 192.168.64.0/24 /27 Subnets after transition from /24 to /27
Netmask: 255.255.255.224 = 27 11111111.11111111.11111111.111 00000
Wildcard: 0.0.0.31 00000000.00000000.00000000.000 11111 1.
Network: 192.168.64.0/27 11000000.10101000.01000000.000 00000 HostMin: 192.168.64.1 11000000.10101000.01000000.000 00001 HostMax: 192.168.64.30 11000000.10101000.01000000.000 11110 Broadcast: 192.168.64.31 11000000.10101000.01000000.000 11111 Hosts/Net: 30 Class C, Private Internet 2.
Network: 192.168.64.32/27 11000000.10101000.01000000.001 00000 HostMin: 192.168.64.33 11000000.10101000.01000000.001 00001 HostMax: 192.168.64.62 11000000.10101000.01000000.001 11110 Broadcast: 192.168.64.63 11000000.10101000.01000000.001 11111 Hosts/Net: 30 Class C, Private Internet 3.
Network: 192.168.64.64/27 11000000.10101000.01000000.010 00000 HostMin: 192.168.64.65 11000000.10101000.01000000.010 00001 HostMax: 192.168.64.94 11000000.10101000.01000000.010 11110 Broadcast: 192.168.64.95 11000000.10101000.01000000.010 11111 Hosts/Net: 30 Class C, Private Internet 4.
Network: 192.168.64.96/27 11000000.10101000.01000000.011 00000 HostMin: 192.168.64.97 11000000.10101000.01000000.011 00001 HostMax: 192.168.64.126 11000000.10101000.01000000.011 11110 Broadcast: 192.168.64.127 11000000.10101000.01000000.011 11111 Hosts/Net: 30 Class C, Private Internet 5.
Network: 192.168.64.128/27 11000000.10101000.01000000.100 00000 HostMin: 192.168.64.129 11000000.10101000.01000000.100 00001 HostMax: 192.168.64.158 11000000.10101000.01000000.100 11110 Broadcast: 192.168.64.159 11000000.10101000.01000000.100 11111 Hosts/Net: 30 Class C, Private Internet 6.
Network: 192.168.64.160/27 11000000.10101000.01000000.101 00000 HostMin: 192.168.64.161 11000000.10101000.01000000.101 00001 HostMax: 192.168.64.190 11000000.10101000.01000000.101 11110 Broadcast: 192.168.64.191 11000000.10101000.01000000.101 11111 Hosts/Net: 30 Class C, Private Internet 7.
Network: 192.168.64.192/27 11000000.10101000.01000000.110 00000 HostMin: 192.168.64.193 11000000.10101000.01000000.110 00001 HostMax: 192.168.64.222 11000000.10101000.01000000.110 11110 Broadcast: 192.168.64.223 11000000.10101000.01000000.110 11111 Hosts/Net: 30 Class C, Private Internet 8.
Network: 192.168.64.224/27 11000000.10101000.01000000.111 00000 HostMin: 192.168.64.225 11000000.10101000.01000000.111 00001 HostMax: 192.168.64.254 11000000.10101000.01000000.111 11110 Broadcast: 192.168.64.255 11000000.10101000.01000000.111 11111 Hosts/Net: 30 Class C, Private Internet
Subnets: 8
Hosts: 240 |
Еще больше усложним пример. Попробуем посчитать, сколько получится сетей, если необходимое количество хостов в одном сегменте - 12:
# ipcalc 192.168.64.0/24 -s 12 1. Requested size: 12 hosts
Netmask: 255.255.255.240 = 28 11111111.11111111.11111111.1111 0000 Network: 192.168.64.0/28 11000000.10101000.01000000.0000 0000 HostMin: 192.168.64.1 11000000.10101000.01000000.0000 0001 HostMax: 192.168.64.14 11000000.10101000.01000000.0000 1110 Broadcast: 192.168.64.15 11000000.10101000.01000000.0000 1111 Hosts/Net: 14 Class C, Private Internet Needed size: 16 addresses.
Used network: 192.168.64.0/28 Unused: 192.168.64.16/28 192.168.64.32/27 192.168.64.64/26 192.168.64.128/25 |
Возможности програмы по оперированию ip-адресацией довольно большие. Выборка из man-a:
Использование: ipcalc [options] <ADDRESS>[[/]<NETMASK>] [NETMASK]
IPCALC вычисляет широковещательный адрес, диапазон хостов, шаблон сетевой маски по полученному IP и сетевой маске. Может использоваться для конструирования сетей и подсетей, а также в обучающих целях. Опции: |
Вот так... Надеюсь этот инструмент пригодится каждому, благо научиться им пользоваться не так уж и сложно.
Последние комментарии
21 неделя 6 дней назад
46 недель 20 часов назад
2 года 46 недель назад
3 года 16 недель назад
3 года 39 недель назад
4 года 2 недели назад
4 года 3 недели назад
4 года 6 недель назад
4 года 18 недель назад
4 года 22 недели назад