Как использовать имя интерфейса вместо IP-адреса в IPFW?

Как использовать имя интерфейса вместо IP-адреса в IPFW?
add 04000 allow IP from 192.168.1.10 to ca-vancouver.privateinternetaccess.com keep-state

Я хочу перейти на epair0b, потому что я хочу избежать жестко заданного IP-адреса и вместо этого хочу использовать DHCP.

Поэтому я изменился на

add 04000 allow IP from epair0b to ca-vancouver.privateinternetaccess.com keep-state

И получил ошибку

Line 6: hostname ```epair0b'' unknow

Есть ли способ использовать имя интерфейса или «машины» в IPFW?

Другими словами, я хочу избежать использования жестко заданного IP-адреса в моих правилах.

Спасибо!

решение1

Согласноipfwстраница руководства,

me Соответствует любому IP-адресу, настроенному на интерфейсе в системе.
add 04000 allow IP from me to ca-vancouver.privateinternetaccess.com keep-state

решение2

Демон DHCP может обновить ваш /etc/hostsфайл и установить локальный IP рядом с именем хоста. Таким образом, вы можете использовать имя хоста, которое будет разрешаться в текущий IP.

Введите hostname, чтобы получить имя вашего хоста.

Проверьте man-страницы демона DHCP, как они это реализуют. Это может выглядеть так:

#!/bin/sh

set -e

if [ "$IFACE" = lo ]; then
    exit 0
fi

SHORT_HOST=`hostname`

# Remove current line with hostname at the end of line
sed -i '/'$SHORT_HOST'$/ d' /etc/hosts

ipaddr=$(ifconfig  | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}')
echo "$ipaddr $SHORT_HOST" >>/etc/hosts

Связанный контент