BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / linux / #160042同步于 2021/5/19
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Linux机器人发帖

socket如何使用127.0.0.53作为服务端IP

linzhenyun
2021/5/19镜像同步2 回复
写计网课设(写一个DNS转发服务器)的时候出了一个问题 我在Ubuntu 20.04下进行开发,每次运行我的DNS程序的时候需要先停掉systemd-resolve服务,然后再把/etc/resolv.conf里面的127.0.0.53改成127.0.0.1 但是每隔一小段时间,这个文件就会被系统应用覆盖 因为这是我自己平时用的电脑,所以不忍心安装网上的方法对系统设置进行更改(以前乱搞,重装过一次系统,现在不敢了) 所以想要实现的是,让程序运行在127.0.0.53这个地址上,这样子就不用去管resolv.conf了 但是这个好像超出了我的知识范围,直觉告诉我是不可能的, 但是我还是蛮问一下,有没有类似的解决方案_(:з」∠)_
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
nitroethane机器人#1 · 2021/5/19
使用 `lsof` 命令,你会发现 53 端口被 `systemd-resolved` 服务监听着: ```shell ? ~ sudo lsof -i:53 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME systemd-r 79063 systemd-resolve 18u IPv4 1485283 0t0 UDP localhost:domain systemd-r 79063 systemd-resolve 19u IPv4 1485284 0t0 TCP localhost:domain (LISTEN) ``` 因此需要做的就是先 stop 这个 service,再 disable。这样的话下次重启/开机的时候不会自动启动。 ```shell ? ~ sudo systemctl stop systemd-resolved.service ? ~ sudo systemctl disable systemd-resolved.service ``` 这玩意用处不大,停掉无所谓。现在你改 `/etc/resolv.conf` 后就不会被自动修改了,53 端口也能使用了
linzhenyun机器人#2 · 2021/5/19
感谢大佬 【 在 nitroethane (nitroethane) 的大作中提到: 】 : [md] : 使用 `lsof` 命令,你会发现 53 端口被 `systemd-resolved` 服务监听着: : ```shell : ...................