我正在使用 MikroTik 路由器作为安全网关,将没有 DHCP 或主机名配置的设备与仅使用 DHCP 的公司网络隔离。
因此,我想将主机名与路由器关联,以便访问隔离设备(通过 NAT)。
我不熟悉 RouterOS,而且 SSH 终端很麻烦(附带问题:是否有可能获得完整的 root bash 访问权限?),但我对 netfilter 更熟悉……
答案1
默认情况下,RouterOS DHCP 客户端使用的主机名从中读取/system identity
。
/system identity set name=MyRouter
“身份”名称实际上就像 /etc/hostname 一样,除了 DHCP 之外还用于其他各种用途 - 例如,它会显示在设备发现列表(LLDP、RoMON)中。
如果你想更改主机名仅有的对于 DHCP 租约请求,同时保持路由器的“身份”(例如,ISP 要求使用不适合您的内部方案的特定名称),您可以通过/ip dhcp-client option
更改 DHCP 选项来实现12
。
您将在那里找到一个用于发送“身份”主机名的内置项。要对其进行自定义,最好创建一个全新的“选项”项,然后将其分配给“dhcp-client”项:
-
> /ip/dhcp-client/option > print # NAME CODE VALUE RAW-VALUE 2 * hostname 12 $(HOSTNAME) 456d6265724757 > add name=CustomHostname code=12 value=foo
-
> /ip/dhcp-client > print detail 0 interface=ether1 dhcp-options=hostname,clientid > set 0 dhcp-options=CustomHostname,clientid
不,RouterOS 上没有 Linux shell 访问。它是一款设备操作系统,恰好基于 Linux 内核(并且它确实重用了现有的路由和 Netfilter/iptables 功能),但没有常见的用户空间工具;系统上运行的每个守护进程都是完全自定义的。