Как зарезервировать dhcp для mac-адреса в другом файле?

Ответ отредактирован из вопроса

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

Чтобы установить dconf-tools, запустите в терминале следующую команду:

sudo apt-get install dconf-tools

После ее установки выполните поиск инструментов dconf в тире и откройте его.

Оттуда настройка находится в . Ответ отредактирован из вопроса -> gnome -> nautilus ->. Вам нужно включить always-use-location-entry, чтобы всегда использовать панель местоположения вместо строки пути.

0
задан 19 March 2018 в 19:16

6 ответов

Я сделал этот скрипт из одного из старых сценариев, которые хранятся.

#!/bin/bash

if [ "$EUID" -ne 0 ];
  then echo "Please run as root (sudo)"
  exit
fi

PATH_DHCP_FILE="./test.conf"
PATH_DHCP_TRUST_FILE="./trust_host"
PATH_STUDENTS_FILE="students.list"
PATH_DHCP_LEASES="/var/lib/dhcp/dhcpd.leases"

DATE=`date '+%Y-%m-%d %H:%M'`

IP_RANGE_DEFAULT='192.168.1.50 192.168.1.100'
NETMASK_DEFAULT='255.255.255.0'
AGREE_DEFAULT='yes'

echo ""
echo "|==========================================================|"
echo "|**********************************************************|"
echo "|                       DHCP CONF                          |"
echo "|   Welcome to this configuration Script for DHCP Server.  |"
echo "|                                                          |"
echo "|**********************************************************|"
echo "|==========================================================|"
echo ""
echo "CTRL-C to leave"
echo ""

read -p "WARNING. The file $PATH_DHCP_FILE will be edit. Do you want to continue ? [yes] " AGREE
AGREE=${AGREE:-$AGREE_DEFAULT}

if [ "$AGREE" != 'yes' ]
  then echo "Stop script."
  exit
fi

echo ""
echo "Please, fill the following informations (be care about the syntax)"
read -p "Network IP [192.168.1.0]: " IP
read -p "Netmask [255.255.255.0]: " NETMASK
read -p "IP Range [192.168.1.50 192.168.1.100]: " IP_RANGE
IP=${IP:-$IP_DEFAULT}
NETMASK=${NETMASK:-$NETMASK_DEFAULT}
IP_RANGE=${IP_RANGE:-$IP_RANGE_DEFAULT}

echo ""
echo "--DHCP Configuration--"
echo "----Append configuration to $PATH_DHCP_FILE----"
echo "

# ============================
# *DCHP Script configurations*
# ***$DATE***
subnet $IP netmask $NETMASK {
  range $IP_RANGE;
  deny unknown-clients;
}

include \"$PATH_DHCP_TRUST_FILE\";
# ============================
" >> $PATH_DHCP_FILE

echo ""
ADD_MAC_DEFAULT='yes'

echo "# ***$DATE***" >> $PATH_DHCP_TRUST_FILE
while IFS='' read -r line || [[ -n "$line" ]]; do
    echo "Text read from file: $line"
    studenMac=$(echo $line| cut -d' ' -f 1)
    student=$(echo $line| cut -d' ' -f 2)

    echo "Studen mac : $studenMac"
    echo "Studen host : $student"
    echo "Add $student with $studenMac"
    echo "host $student { hardware ethernet $studenMac; }" >> $PATH_DHCP_TRUST_FILE
done < "$PATH_STUDENTS_FILE"

Измените переменные PATH_DHCP_FILE, PATH_DHCP_TRUST_FILE и PATH_STUDENTS_FILE и заполните, когда скрипт запросит информацию.

Там это результат тестового файла с моей стороны:

Для файла test.conf (/etc/dhcpd.conf)

# ============================
# *DCHP Script configurations*
# ***2018-03-19 17:36***
subnet  netmask 255.255.255.0 {
  range 192.168.1.50 192.168.1.100;
  deny unknown-clients;
}

include "./trust_host";
# ============================

И в файле trust_host: [!d4 ]

# ***2018-03-19 18:44***
host Prajwal { hardware ethernet 94:92:66:38:a6:79; }
host Prajwal { hardware ethernet 30:e1:71:c9:1b:43; }
host Unique { hardware ethernet 94:65:2d:23:a8:4d; }
host Anup { hardware ethernet 84:8f:69:ca:15:00; }
host Anup { hardware ethernet 88:83:22:eb:1e:41; }

Будьте осторожны, я не обрабатываю дублирование.

Надеюсь, эта помощь.

0
ответ дан 22 May 2018 в 12:31
  • 1
    спасибо, это действительно мне поможет :) Скоро проверит и даст отзыв – aftershock 20 March 2018 в 07:57

Я сделал этот скрипт из одного из старых сценариев, которые хранятся.

#!/bin/bash if [ "$EUID" -ne 0 ]; then echo "Please run as root (sudo)" exit fi PATH_DHCP_FILE="./test.conf" PATH_DHCP_TRUST_FILE="./trust_host" PATH_STUDENTS_FILE="students.list" PATH_DHCP_LEASES="/var/lib/dhcp/dhcpd.leases" DATE=`date '+%Y-%m-%d %H:%M'` IP_RANGE_DEFAULT='192.168.1.50 192.168.1.100' NETMASK_DEFAULT='255.255.255.0' AGREE_DEFAULT='yes' echo "" echo "|==========================================================|" echo "|**********************************************************|" echo "| DHCP CONF |" echo "| Welcome to this configuration Script for DHCP Server. |" echo "| |" echo "|**********************************************************|" echo "|==========================================================|" echo "" echo "CTRL-C to leave" echo "" read -p "WARNING. The file $PATH_DHCP_FILE will be edit. Do you want to continue ? [yes] " AGREE AGREE=${AGREE:-$AGREE_DEFAULT} if [ "$AGREE" != 'yes' ] then echo "Stop script." exit fi echo "" echo "Please, fill the following informations (be care about the syntax)" read -p "Network IP [192.168.1.0]: " IP read -p "Netmask [255.255.255.0]: " NETMASK read -p "IP Range [192.168.1.50 192.168.1.100]: " IP_RANGE IP=${IP:-$IP_DEFAULT} NETMASK=${NETMASK:-$NETMASK_DEFAULT} IP_RANGE=${IP_RANGE:-$IP_RANGE_DEFAULT} echo "" echo "--DHCP Configuration--" echo "----Append configuration to $PATH_DHCP_FILE----" echo " # ============================ # *DCHP Script configurations* # ***$DATE*** subnet $IP netmask $NETMASK { range $IP_RANGE; deny unknown-clients; } include \"$PATH_DHCP_TRUST_FILE\"; # ============================ " >> $PATH_DHCP_FILE echo "" ADD_MAC_DEFAULT='yes' echo "# ***$DATE***" >> $PATH_DHCP_TRUST_FILE while IFS='' read -r line || [[ -n "$line" ]]; do echo "Text read from file: $line" studenMac=$(echo $line| cut -d' ' -f 1) student=$(echo $line| cut -d' ' -f 2) echo "Studen mac : $studenMac" echo "Studen host : $student" echo "Add $student with $studenMac" echo "host $student { hardware ethernet $studenMac; }" >> $PATH_DHCP_TRUST_FILE done < "$PATH_STUDENTS_FILE"

Измените переменные PATH_DHCP_FILE, PATH_DHCP_TRUST_FILE и PATH_STUDENTS_FILE и заполните, когда скрипт запросит информацию.

Там это результат тестового файла с моей стороны:

Для файла test.conf (/etc/dhcpd.conf)

# ============================ # *DCHP Script configurations* # ***2018-03-19 17:36*** subnet netmask 255.255.255.0 { range 192.168.1.50 192.168.1.100; deny unknown-clients; } include "./trust_host"; # ============================

И в файле trust_host:

# ***2018-03-19 18:44*** host Prajwal { hardware ethernet 94:92:66:38:a6:79; } host Prajwal { hardware ethernet 30:e1:71:c9:1b:43; } host Unique { hardware ethernet 94:65:2d:23:a8:4d; } host Anup { hardware ethernet 84:8f:69:ca:15:00; } host Anup { hardware ethernet 88:83:22:eb:1e:41; }

Будьте осторожны, я не обрабатываю дублирование.

Надеюсь, эта помощь.

0
ответ дан 17 July 2018 в 18:38

Я сделал этот скрипт из одного из старых сценариев, которые хранятся.

#!/bin/bash if [ "$EUID" -ne 0 ]; then echo "Please run as root (sudo)" exit fi PATH_DHCP_FILE="./test.conf" PATH_DHCP_TRUST_FILE="./trust_host" PATH_STUDENTS_FILE="students.list" PATH_DHCP_LEASES="/var/lib/dhcp/dhcpd.leases" DATE=`date '+%Y-%m-%d %H:%M'` IP_RANGE_DEFAULT='192.168.1.50 192.168.1.100' NETMASK_DEFAULT='255.255.255.0' AGREE_DEFAULT='yes' echo "" echo "|==========================================================|" echo "|**********************************************************|" echo "| DHCP CONF |" echo "| Welcome to this configuration Script for DHCP Server. |" echo "| |" echo "|**********************************************************|" echo "|==========================================================|" echo "" echo "CTRL-C to leave" echo "" read -p "WARNING. The file $PATH_DHCP_FILE will be edit. Do you want to continue ? [yes] " AGREE AGREE=${AGREE:-$AGREE_DEFAULT} if [ "$AGREE" != 'yes' ] then echo "Stop script." exit fi echo "" echo "Please, fill the following informations (be care about the syntax)" read -p "Network IP [192.168.1.0]: " IP read -p "Netmask [255.255.255.0]: " NETMASK read -p "IP Range [192.168.1.50 192.168.1.100]: " IP_RANGE IP=${IP:-$IP_DEFAULT} NETMASK=${NETMASK:-$NETMASK_DEFAULT} IP_RANGE=${IP_RANGE:-$IP_RANGE_DEFAULT} echo "" echo "--DHCP Configuration--" echo "----Append configuration to $PATH_DHCP_FILE----" echo " # ============================ # *DCHP Script configurations* # ***$DATE*** subnet $IP netmask $NETMASK { range $IP_RANGE; deny unknown-clients; } include \"$PATH_DHCP_TRUST_FILE\"; # ============================ " >> $PATH_DHCP_FILE echo "" ADD_MAC_DEFAULT='yes' echo "# ***$DATE***" >> $PATH_DHCP_TRUST_FILE while IFS='' read -r line || [[ -n "$line" ]]; do echo "Text read from file: $line" studenMac=$(echo $line| cut -d' ' -f 1) student=$(echo $line| cut -d' ' -f 2) echo "Studen mac : $studenMac" echo "Studen host : $student" echo "Add $student with $studenMac" echo "host $student { hardware ethernet $studenMac; }" >> $PATH_DHCP_TRUST_FILE done < "$PATH_STUDENTS_FILE"

Измените переменные PATH_DHCP_FILE, PATH_DHCP_TRUST_FILE и PATH_STUDENTS_FILE и заполните, когда скрипт запросит информацию.

Там это результат тестового файла с моей стороны:

Для файла test.conf (/etc/dhcpd.conf)

# ============================ # *DCHP Script configurations* # ***2018-03-19 17:36*** subnet netmask 255.255.255.0 { range 192.168.1.50 192.168.1.100; deny unknown-clients; } include "./trust_host"; # ============================

И в файле trust_host:

# ***2018-03-19 18:44*** host Prajwal { hardware ethernet 94:92:66:38:a6:79; } host Prajwal { hardware ethernet 30:e1:71:c9:1b:43; } host Unique { hardware ethernet 94:65:2d:23:a8:4d; } host Anup { hardware ethernet 84:8f:69:ca:15:00; } host Anup { hardware ethernet 88:83:22:eb:1e:41; }

Будьте осторожны, я не обрабатываю дублирование.

Надеюсь, эта помощь.

0
ответ дан 23 July 2018 в 19:27

Вы можете ограничить пул адресов с помощью deny unknown-clients;. Таким образом, только MAC-адреса, которые появляются в объявлении host, получат IP.

И вам не нужно указывать fixed-address в объявлении host.

2] Минимальный (и непроверенный) пример может выглядеть так

subnet 192.168.0.0 netmask 255.255.0.0 {
    # option routers 192.168.1.1;
    # option ... etc.

    pool {
            range 192.168.100.1 192.168.101.254;
            deny unknown-clients;
    }
}

include "/etc/dhcpd/known-hosts.conf";

И в «/etc/dhcpd/known-hosts.conf», который должен быть легко сгенерирован с помощью скрипта с вашего MAC-адреса -addresses list:

host h1 { hardware ethernet 00:09:b0:48:ca:ec; }
host h2 { hardware ethernet 00:80:88:11:e0:9f; }
1
ответ дан 22 May 2018 в 12:31
  • 1
    спасибо :) проверит это скоро и обратится к нему :) – aftershock 20 March 2018 в 07:57

Вы можете ограничить пул адресов с помощью deny unknown-clients;. Таким образом, только MAC-адреса, которые появляются в объявлении host, получат IP.

И вам не нужно указывать fixed-address в объявлении host.

Минимальный (и непроверенный) пример может выглядеть так

subnet 192.168.0.0 netmask 255.255.0.0 { # option routers 192.168.1.1; # option ... etc. pool { range 192.168.100.1 192.168.101.254; deny unknown-clients; } } include "/etc/dhcpd/known-hosts.conf";

И в «/etc/dhcpd/known-hosts.conf», который должен быть легко сгенерирован с помощью скрипта с вашего MAC-адреса -addresses list:

host h1 { hardware ethernet 00:09:b0:48:ca:ec; } host h2 { hardware ethernet 00:80:88:11:e0:9f; }
1
ответ дан 17 July 2018 в 18:38

Вы можете ограничить пул адресов с помощью deny unknown-clients;. Таким образом, только MAC-адреса, которые появляются в объявлении host, получат IP.

И вам не нужно указывать fixed-address в объявлении host.

Минимальный (и непроверенный) пример может выглядеть так

subnet 192.168.0.0 netmask 255.255.0.0 { # option routers 192.168.1.1; # option ... etc. pool { range 192.168.100.1 192.168.101.254; deny unknown-clients; } } include "/etc/dhcpd/known-hosts.conf";

И в «/etc/dhcpd/known-hosts.conf», который должен быть легко сгенерирован с помощью скрипта с вашего MAC-адреса -addresses list:

host h1 { hardware ethernet 00:09:b0:48:ca:ec; } host h2 { hardware ethernet 00:80:88:11:e0:9f; }
1
ответ дан 23 July 2018 в 19:27

Другие вопросы по тегам:

Похожие вопросы: