我发现我的 ISP (verizon) 正在拦截端口 53 上的所有 DNS 流量。
使用 iptables,我想将所有 DNS 查找流量重定向到特定的 IP 和端口 (5353)。我的计算机在端口 53 上连接到另一台计算机的任何尝试都应重定向到 23.226.230.72:5353。
为了验证我尝试使用的 DNS 服务器和端口,我运行了这个命令。
~$ dig +short serverfault.com @23.226.230.72 -p5353
198.252.206.16
Run Code Online (Sandbox Code Playgroud)
这是我尝试使用的 iptables 规则。
iptables -t nat -A OUTPUT -p udp -m udp --dport 53 -j DNAT --to-destination 23.226.230.72:5353
Run Code Online (Sandbox Code Playgroud)
添加该规则后,未找到所有 DNS 查找。网站 ping 返回unknown host。网页显示“找不到服务器”。
~$ mtr serverfault.com
Failed to resolve host: Name or service not known
Run Code Online (Sandbox Code Playgroud)
我希望我的 DNS 查询从 23.226.230.72:5353 中提取。如何使 iptables 规则起作用?
编辑
我的 ISP 拦截 DNS(端口 53)的演示。通过端口 5353 …
我正在尝试通过 ssh 设置 XForwarding,但它失败了。无论我对 ssh 使用参数 -X 还是 -Y,都会发生相同的结果。我得到的错误。
a@ASUS-N53SM:~$ ssh -X -p 6623 pinker@192.168.0.200
pinker@192.168.0.200's password:
Last login: Sun Feb 2 18:42:08 2014 from 192.168.0.201
/usr/bin/xauth: (stdin):1: bad display name "pinker-server:10.0" in "remove" command
/usr/bin/xauth: (stdin):2: bad display name "pinker-server:10.0" in "add" command
xdpyinfo: unable to open display "pinker-server:10.0".
Run Code Online (Sandbox Code Playgroud)
在客户端文件 ~/.ssh/config
ForwardX11 yes
Run Code Online (Sandbox Code Playgroud)
在客户端文件 /etc/ssh/ssh_config 中(注释已删除)。
Host *
ForwardX11 yes
ForwardX11Trusted yes
SendEnv LANG LC_*
HashKnownHosts yes
GSSAPIAuthentication yes
GSSAPIDelegateCredentials no
Run Code Online (Sandbox Code Playgroud)
在服务器文件 /etc/ssh/sshd_config 中(注释已删除)。
Port 6623
Port 6624
Port …Run Code Online (Sandbox Code Playgroud) 我在硬盘驱动器上运行 Ext4,老实说,我不太信任驱动器,因为它很旧并且有一些坏块。我在驱动器上有不必要的数据,所以如果它明天死了,那就没什么大不了的。
但是,我想知道它是否/何时开始死亡,并以只读方式重新安装。是否有任何选项可以在 Ext4 fs 上启用额外的文件检查?(我不在乎它是否会使文件系统变慢。)
我的(几个)USB 驱动器之一在 dmesg 中报告此错误
usb 5-1: device descriptor read/8, error -110
Run Code Online (Sandbox Code Playgroud)
如何找到所有 USB 设备的 /dev/sdX 名称?
反过来:如果给定设备的 /dev/sdX 名称,我如何找出该设备的 USB 编号?
更新:这里给出了许多优秀的答案。我希望这些信息能够出现在像 的标准工具中lsusb,但遗憾的是它还没有出现。我选择奖励@sudodus,因为他的回答似乎最能回答获取所有驱动器名称的问题。
回答:
为了生成更清晰的输出,我建议这个稍微长一些的命令
find /sys/ -name dev -path '*usb*block*' | grep -v "sd../" | grep -Po "\/usb.*\/sd."
Run Code Online (Sandbox Code Playgroud) 我遇到了大多数人似乎都遇到的相反问题。如果我在登录 ssh 时启动 X 应用程序,它会显示在服务器(主机)机器上,而不是客户端(本地)机器上。这是我使用的命令
$ ssh -X -p 6623 pinker@192.168.0.200
Run Code Online (Sandbox Code Playgroud)
我的 $DISPLAY 变量在客户端上显示正确。
$ echo $DISPLAY
:0
Run Code Online (Sandbox Code Playgroud)
我希望来自服务器的 X 应用程序在客户端(我实际所在的机器)上本地显示。我不知道是什么原因造成的。