Freebsd
如何在 IPFW 上使用介面名稱而不是 IP 地址?
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 地址。
謝謝!
根據
ipfw
手冊頁,me 匹配系統中介面上配置的任何 IP 地址。
add 04000 allow IP from me to ca-vancouver.privateinternetaccess.com keep-state
DHCP 守護程序可以更新您的
/etc/hosts
文件並在主機名旁邊設置本地 IP。這樣您就可以使用將解析為目前 IP 的主機名。鍵入
hostname
以獲取您的主機名。檢查 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