小编Ubu*_*ser的帖子

为什么在内核更新到 4.4.0-143-generic 后无法构建调谐卡驱动程序?

我使用特定品牌的电视调谐卡(TBS 技术)并且驱动程序不包含在内核中,因此必须在每次内核更新后重新构建。在将昨天的内核更新安装到 4.4.0-143-generic 之后,TBS 驱动程序无法构建,但如果我回到 4.4.0-142-generic,它们就可以工作。运行make时出现问题,特别是尝试构建名为videobuf-dma-sg.o的文件时,错误输出如下:

  CC [M]  /home/backend/Drivers/linux-tbs-drivers/v4l/videobuf-dma-sg.o
/home/backend/Drivers/linux-tbs-drivers/v4l/videobuf-dma-sg.c: In function 'videobuf_dma_init_user_locked':
/home/backend/Drivers/linux-tbs-drivers/v4l/videobuf-dma-sg.c:187:21: warning: passing argument 6 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion]
         rw == READ, 1, /* force */
                     ^
In file included from include/linux/scatterlist.h:7:0,
                 from include/linux/dma-mapping.h:10,
                 from /home/backend/Drivers/linux-tbs-drivers/v4l/videobuf-dma-sg.c:28:
include/linux/mm.h:1222:6: note: expected 'struct page **' but argument is of type 'int'
 long get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
      ^
/home/backend/Drivers/linux-tbs-drivers/v4l/videobuf-dma-sg.c:188:9: warning: passing argument 7 of 'get_user_pages' from incompatible pointer type [-Wincompatible-pointer-types]
         dma->pages, NULL);
         ^ …
Run Code Online (Sandbox Code Playgroud)

compiling kernel drivers

6
推荐指数
2
解决办法
1740
查看次数

如何强制 Ubuntu 22.04 SERVER 仅使用 /etc/systemd/resolved.conf 中列出的 DNS 服务器(不是我的路由器的 DNS)并使用 DNS-over-TLS?

我已将这些行添加到没有桌面的 Ubuntu 22.04 服务器安装中的 /etc/systemd/resolved.conf - 我强调这一点,因为我无法使用在 Ubuntu 中设置网络选项的常规桌面方法:

DNS=9.9.9.9 149.112.112.112 1.1.1.1 1.0.0.1
DNSOverTLS=yes
Run Code Online (Sandbox Code Playgroud)

这工作得很好,除了所有连接都应该通过标识为 tun0 的 VPN 隧道。因此,在上述配置到位后,如果我这样做

sudo tcpdump -ni tun0 -p port 53 or port 853
Run Code Online (Sandbox Code Playgroud)

在一个终端窗口中尝试从另一个终端窗口 ping google.com,我看到几个请求,但它们都在端口 853 上发出。太棒了,所以 DNS-over-TLS 正在工作。问题是如果我跑

sudo tcpdump -ni enp0s10 -p port 53 or port 853
Run Code Online (Sandbox Code Playgroud)

我看到一些行显示它也在尝试访问我的路由器 192.168.1.1,仍在尝试使用端口 853,但看起来它尝试了四次去那里。这不太好。我不希望它尝试使用我的路由器的 DNS,所有流量都应该通过隧道。

我尝试了另一种方法,即临时重命名 /etc/resolv.conf (这是到其他地方的符号链接)并将其替换为实际文本文件(不是符号链接)的版本,我在其中放置了这些行:

nameserver 9.9.9.9
nameserver 149.112.112.112
nameserver 1.1.1.1
options use-vc edns0 trust-ad
search localdomain
Run Code Online (Sandbox Code Playgroud)

除了名称服务器链接之外,我唯一更改的是在选项行中添加“use-vc”,因为我读到这是为了启用 DNS-over-TLS。当我这样做时,当我发出 DNS 请求时,没有流量到达本地网络接口,但请求使用端口 53 而不是端口 853 发出 tun0,因此它没有使用 DNS-over-TLS。所以 use-vc 选项没有被遵守。

我在过去的五个小时里一直在阅读页面,但找不到解决方案,主要是因为有关该主题的大多数页面要么假设您正在运行桌面版本的 Ubuntu,要么它们似乎适用于不同版本的 Ubuntu,其中做得有点不同。如何才能使 …

server vpn networking dns 22.04

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

22.04 ×1

compiling ×1

dns ×1

drivers ×1

kernel ×1

networking ×1

server ×1

vpn ×1