用于移动开发机器的本地域名

用于移动开发机器的本地域名

我想在我的笔记本电脑上创建一个本地 kubernetes(minikube)和 glusterfs 设置,这样当我移动位置时它仍能继续工作。

问题在于,设置的某些方面需要使用 IP 地址/可解析域名。minikube 设置会忽略我的 /etc/hosts,每个位置都会为我的机器提供不同的 IP 地址,因此对 IP 地址进行硬编码既烦人又耗时,因为我必须拆除、编辑然后重新创建设置。

我的第一个想法是在本地建立一个像 BIND 这样的 DNS 服务器,它会返回机器的 IP 地址,但我找不到任何关于如何返回当前机器的 IP 地址的信息。

有谁知道该如何做,或者有没有什么替代设置能够提供相同的功能?

提前致谢。

答案1

感谢弗兰克·托马斯(Frank Thomas)的提示,我最终找到了一种粗略的方法。

我讨厌 BASH 脚本,而且它可能还存在其他问题,因此如果有人有更好的方法来做到这一点,请务必添加评论建议改进方法,我会更新它。

对于 ubuntu 16.04,我在 /etc/network/if-up.d 中创建了一个名为 addip 的文件,其内容如下:

#!/bin/sh

set -e

ADDITIONAL_IPADDR="10.0.0.111/24"
PREFERRED_INTERFACE="wlp4s0"

# Description:      Add ip address to allow for local services on a machine that's
#                       assigned an ip address by dhcp over a wifi nic
if [ $IFACE != $PREFERRED_INTERFACE ] || [ $ADDRFAM != inet ]; then
    exit 0
fi

if [ -x /bin/ip ] ; then
    # ip already present?
    ip addr show | grep -q "$ADDITIONAL_IPADDR[[:space:]]" && exit 0
    /sbin/ip addr add $ADDITIONAL_IPADDR dev $PREFERRED_INTERFACE
fi

您可能想要更改ADDITIONAL_IPADDR和PREFERRED_INTERFACE的值。

然后,您可以设置您的首选 DNS 服务器以返回您在 ADDITIONAL_IPADDR 中为您的设置设置的 IP 地址。

相关内容