AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题

问题[ipv6](unix)

Martin Hope
Daniel Walker
Asked: 2022-10-02 10:47:01 +0800 CST

IPv6环回地址的二进制格式

  • 3

在一个终端中,我跑了

$ nc -l -6 ::1 5000

在另一个终端,我跑了

$ cat /proc/net/tcp6

并看到了这一行:

   0: 00000000000000000000000001000000:1388 00000000000000000000000000000000:0000 ...

为什么说我在听::1:0:0:0而不是在听::1?

ipv6 proc
  • 1 个回答
  • 75 Views
Martin Hope
Jona
Asked: 2022-09-16 07:13:05 +0800 CST

访问 IPv6 上的唯一本地地址时出现问题

  • 1
这个问题是从 Raspberry Pi Stack Exchange迁移而来的,因为它可以在 Unix & Linux Stack Exchange 上得到回答。 上个月迁移 。

我对 IPv6 世界很陌生。

我正在尝试fc00::a6:32:67:c9:23从同一网络上的另一台主机 ping 地址,但到目前为止它不起作用(尽管我能够使用 Link-Local 单播地址 ping 设备)。

我的本地主机(ping 的来源)上的网络配置如下所示:

host1$ ip addr
2: wlp6s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 10:4a:7d:cd:e6:73 brd ff:ff:ff:ff:ff:ff
    inet 192.168.55.61/24 brd 192.168.55.255 scope global dynamic noprefixroute wlp6s0
       valid_lft 348sec preferred_lft 348sec
    inet6 fe80::68b0:2809:2bab:2e8b/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
5: enx000ec6a6aea4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0e:c6:a6:ae:a4 brd ff:ff:ff:ff:ff:ff
    inet 192.168.55.198/24 metric 1024 brd 192.168.55.255 scope global dynamic enx000ec6a6aea4
       valid_lft 599sec preferred_lft 599sec
    inet6 fc00::e:c6a6:aea4/64 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::2576:c20e:e91d:7677/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

本地路由表如下所示:

$ ip -6 route
::1 dev lo proto kernel metric 256 pref medium
2001:db8:100:1ff:ff:ff:ff:ff dev enx000ec6a6aea4 proto static metric 1024 pref medium
fc00::/64 dev enx000ec6a6aea4 proto kernel metric 256 pref medium
fe80::/64 dev wlp6s0 proto kernel metric 1024 pref medium
fe80::/64 dev enx000ec6a6aea4 proto kernel metric 1024 pref medium
default via 2001:db8:100:1ff:ff:ff:ff:ff dev enx000ec6a6aea4 proto static metric 1024 pref medium

目标主机上的界面如下所示:

host2$ ip a
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether dc:a6:32:67:c9:23 brd ff:ff:ff:ff:ff:ff
    inet 192.168.55.187/24 brd 192.168.55.255 scope global dynamic noprefixroute eth0
       valid_lft 599sec preferred_lft 524sec
    inet6 fc00::a6:32:67:c9:23/64 scope global tentative noprefixroute 
       valid_lft forever preferred_lft forever
    inet6 2001::a6:32:67:c9:23/64 scope global noprefixroute 
       valid_lft forever preferred_lft forever
    inet6 fe80::a790:54e2:224b:f14/64 scope link 
       valid_lft forever preferred_lft forever

我想知道为什么目标主机上我的 -prefixed IP 地址tentative旁边有一个?fc00

有人知道吗?这是我的ping问题的原因吗?

ipv6
  • 1 个回答
  • 43 Views
Martin Hope
HippoMan
Asked: 2022-05-23 06:33:44 +0800 CST

debian 8:我的机器开始仅将 IPv6 用于 *outgoing* 连接。如何回到 IPv4?

  • 0

我debian 8在我的服务器上运行。最近,服务器开始只对所有传出 TCP 连接使用 IPv6。但是,它仍然接受 IPv4 的传入连接。

因此,我现在无法访问任何网站(端口 80),建立任何 ssh 连接(端口 22),也无法通过服务器上的任何 TCP 端口访问任何其他传出主机。

iptables -F我通过后跟完全禁用了所有 iptables 规则iptables -X,问题仍然存在。

以下是一些可能相关的命令输出:

% sudo ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: dummy0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether aa:bf:5c:77:b2:82 brd ff:ff:ff:ff:ff:ff
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether f2:3c:91:96:da:28 brd ff:ff:ff:ff:ff:ff
    inet 45.33.123.70/24 brd 45.33.123.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet 45.33.5.47/24 scope global eth0:1
       valid_lft forever preferred_lft forever
    inet 192.168.135.4/17 scope global eth0:2
       valid_lft forever preferred_lft forever
    inet6 2600:3c00::f03c:91ff:fe96:da28/64 scope global mngtmpaddr dynamic 
       valid_lft 87sec preferred_lft 27sec
    inet6 fe80::f03c:91ff:fe96:da28/64 scope link 
       valid_lft forever preferred_lft forever
4: teql0: <NOARP> mtu 1500 qdisc noop state DOWN group default qlen 100
    link/void 
5: tunl0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000
    link/ipip 0.0.0.0 brd 0.0.0.0
6: gre0@NONE: <NOARP> mtu 1476 qdisc noop state DOWN group default qlen 1000
    link/gre 0.0.0.0 brd 0.0.0.0
7: gretap0@NONE: <BROADCAST,MULTICAST> mtu 1476 qdisc noop state DOWN group default qlen 1000
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
8: erspan0@NONE: <BROADCAST,MULTICAST> mtu 1464 qdisc noop state DOWN group default qlen 1000
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
9: ip_vti0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000
    link/ipip 0.0.0.0 brd 0.0.0.0
10: ip6_vti0@NONE: <NOARP> mtu 1364 qdisc noop state DOWN group default qlen 1000
    link/tunnel6 :: brd ::
11: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000
    link/sit 0.0.0.0 brd 0.0.0.0
12: ip6tnl0@NONE: <NOARP> mtu 1452 qdisc noop state DOWN group default qlen 1000
    link/tunnel6 :: brd ::
13: ip6gre0@NONE: <NOARP> mtu 1448 qdisc noop state DOWN group default qlen 1000
    link/gre6 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 brd 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00

% sudo route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         45.33.123.1     0.0.0.0         UG    0      0        0 eth0
45.33.5.0       0.0.0.0         255.255.255.0   U     0      0        0 eth0
45.33.123.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.128.0   0.0.0.0         255.255.128.0   U     0      0        0 eth0

我不知道是什么导致了这种对仅 IPv6 输出的更改。但无论如何,我只想回到 IPv4 作为所有传出连接的默认值。

感谢您的任何见解和建议。

ipv6 ipv4
  • 3 个回答
  • 113 Views
Martin Hope
Chris
Asked: 2022-02-17 15:06:20 +0800 CST

IPv6 转发在网络命名空间中不起作用

  • 3

我有 3 个 Linux 虚拟机像这样连接:

 /       server1         \
| ens19 2001:1::2         |
 \                       /
            |  
 /                       \
| ens19 2001:1::1         |
|        server2          |
| ens20 2001:2::1         |
 \                       /
            |
 /                       \
| ens19 2001:2::2        |
 \       server3         / 

我在 server1 上运行这些命令:

ip link set dev ens19 up
ip -6 address add 2001:1::2/96 dev ens19
ip -6 route add default via 2001:1::1

然后这些在server3上:

ip link set dev ens19 up
ip -6 address add 2001:2::2/96 dev ens19
ip -6 route add default via 2001:2::1

然后这些在server2上:

echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv6/conf/all/forwarding
ip link set dev ens19 up
ip link set dev ens20 up
ip -6 address add 2001:1::1/96 dev ens19
ip -6 address add 2001:2::1/96 dev ens20

如果我尝试从 server1 ping server3,它可以工作:

root@server1:~# ping6 2001:2::2

但是如果我将 server2 上的接口移动到网络命名空间内:

ip netns add net1
ip link set dev ens19 netns net1
ip link set dev ens20 netns net1
ip netns exec net1 ip link set dev ens19 up
ip netns exec net1 ip link set dev ens20 up
ip netns exec net1 ip -6 address add 2001:1::1/96 dev ens19
ip netns exec net1 ip -6 address add 2001:2::1/96 dev ens20

从 server1 到 server3 的 ping 不再有效。不再转发数据包。

为什么?(注意:IPv4 的工作流程相同)

networking ipv6
  • 1 个回答
  • 298 Views
Martin Hope
linuxuser8
Asked: 2021-11-02 11:01:11 +0800 CST

如何在 IPV6 中使用 wget

  • 0

我使用以下命令(和输出)收到了 IPv6 地址:

$ dig +short +answer aaaa deb.debian.org
debian.map.fastlydns.net.
2a04:4e42:65::644

现在,当我尝试运行以下命令时:

wget -6 https://2a04:4e42:65::644

我收到以下错误:

https://2a04:4e42:65::644: Bad port number.

我的 wget 版本信息:

GNU Wget 1.21 built on linux-gnu.

这个版本的 wget (debian 11) 与 IPv6 不兼容吗?

wget ipv6
  • 1 个回答
  • 771 Views
Martin Hope
Bogddan
Asked: 2021-10-31 01:35:52 +0800 CST

如何使用来自 ipv6 子网的地址?

  • 0

我有一个运行 Debian 10 的 VPS,例如,我有以下 /64 子网: 2001:db8:abcd:abcd::/64 如何使用该子网中的单个 IP?例如,如果我想将此单个 IPv6 用于进程:2001:db8:abcd:abcd::1234/128,我必须添加到 /etc/network/interfaces 以使其工作?默认情况下,它不响应 ping,它只是超时。非常感谢!

networking ipv6
  • 1 个回答
  • 134 Views
Martin Hope
Pierre Prinetti
Asked: 2019-09-27 01:47:50 +0800 CST

如果我已经有 /64,为什么我必须将 /128 ipv6 地址显式添加到设备?

  • 1

在 Fedora 服务器上,我的/etc/sysconfig/network-scripts/ifcfg-eth0:0:

IPV6ADDR=<REDACTED>:48ea::1/64

现在绑定到该特定地址有效:

$ nc -l <REDACTED>:48ea::1 1025

但是,绑定到同一网络掩码空间中的另一个地址失败:

$ nc -l <REDACTED>:48ea::2 1025
Ncat: bind to <REDACTED>:48ea::2:1025: Cannot assign requested address. QUITTING.

如果显式添加<REDACTED>:48ea::2/128(通过添加IPV6ADDR_SECONDARIES或运行ip addr add <REDACTED>:48ea::2/128 dev eth0),那么我可以绑定到它。

为什么添加/64地址还不够?在使用设备之前,我是否必须明确地将每个 /128 地址添加到设备中?

ipv6
  • 1 个回答
  • 195 Views
Martin Hope
Cliff Armstrong
Asked: 2019-08-08 20:49:16 +0800 CST

WAN 端的 DHCP-PD 和有状态的 DHCPv6 在 LAN 端分配了全局可路由的 ip。需要在lan侧动态配置DHCPv6

  • 1

语境

我目前正忙于用我放置在周围的一台旧的无风扇、无头 Intel Atom/ITX 计算机构建一个互联网网关。这些是我的要求:

  • 将我的 ISP 的 DCHP 提供的 ipv4 和 ipv6 ip 分配给面向互联网的接口
  • 接收我的 ISP 的 DHCP 提供的 ipv6 前缀。
  • 有一个面向局域网的静态私有 IPv4 ip。
  • 在面向局域网的接口上有 IPv4 DHCP 服务器。
  • <prefix>::1/64在面向局域网的接口上设置 IPv6 ip
  • 有一个 DHCPv6 服务器在我的 ISP 向 LAN 客户端提供的前缀内提供地址的状态分配。
  • 必须能够在面向局域网和面向广域网的接口上断开连接和重新连接。
  • 必须充当网络设备:除安全更新外无需维护。

我想使用有状态 DHCPv6 而不是无状态 DHCP 或 SLAAC,因为我将设置由我的新网关管理的 DDNS 以及半径和其他一些可能性...其中一些将用于确定 ip 客户端结束跟上。

我目前的一切都在 ipv4 方面工作。有规律的。网关本身具有与 Internet 的功能齐全的双栈连接,并且可以通过 ipv4 和 ipv6 访问资源。我还为 ipv4 和 ipv6 实现了基于 netfilter 的防火墙。我什至为局域网分配了一个静态私有 ipv4 地址和一个<prefix>::1/64地址。我可以通过 DHCP 为我的局域网上的客户端提供 ipv4 地址、dns、域、网关和所有其他内容。ifplugd 提供了对断开连接和重新连接的恢复能力。

问题

我不能做的是通过 DHCP 向客户端提供范围内的有状态IPv6 地址。<prefix>::0/64我坚持 dhcpd 需要我在其配置文件中设置静态名称服务器、静态网关和静态前缀的现实……但所有这些都是根据我的 ISP 给出的前缀动态分配的。我现在已经多次浏览 dhcpd.conf 手册页,但我没有看到任何提供动态分配这些的方法。dhcpcd 以二进制格式存储它的租约数据并没有帮助。我找到了一种可行的方法来查询 dhcpcd 的租约数据,所以这不再是问题了。

我的下一步是编写我已经编写了一些脚本/systemd 单元来管理从 dhcpcd 查询我需要的数据并(重新)使用适当的标志启动 dhcpd(将很快添加为答案)。但这很笨拙,我担心它可能会以即插即用单元的所有方式出现问题。如果稍后我必须通过 ssh 进入我的网关来修复某些问题……这意味着我失败了。

我的问题:

  • 我只是在这里错过了显而易见的事情吗?如果是这样,我错过了什么?如果我再花 48 小时浏览手册页和 RFC 文档……那么它就会被遗漏。
  • WIDE 或其他一体化 DCHP 客户端/服务器能否实现我的远大目标(半径、服务器管理的 DDNS 等)?
  • 我可以为不同子网中的网关 ip 使用链接本地或私有 ip 吗?就像...可以fd41:2a0d:e8e4:0::1是作为子网的路由器选项发送的条目,26AA:A4A4:300:22AF::/64如果所有客户端都具有该子网和fd41:2a0d:e8e4:0::/64子网的 ips?我已经读过,由于我的问题,使用服务器的本地链接 IP 优于全局可路由 IP……但是在子网之外设置网关 IP 的想法似乎是错误的。是的......但它并没有完全解决我的问题。

PS在有人问之前,我开始尝试在 wan 端使用 dhclient(坚持使用 dns/dhcp 的 ISC 工具),但它不想在同一个接口上解析 ipv6 和 ipv4,也不让我查询v6 ip 和 v6 前缀。可能是我的错……但结果我放弃了,转而使用 dhcpcd。

配置文件

radvd.conf:

interface lan {
    AdvManagedFlag on;
    AdvSendAdvert on;
    #AdvAutonomous off;
    AdvOtherConfigFlag on;
    IgnoreIfMissing on;
    AdvDefaultPreference high;
    MaxRtrAdvInterval 60;
};

dhcpcd.conf:

hostname
duid
persistent
option rapid_commit
option classless_static_routes
option interface_mtu
require dhcp_server_identifier
noipv6rs
waitip 6
waitip 4
denyinterfaces lan

interface wan
ipv4
ipv6
dhcp
dhcp6
ipv6rs
ia_na 1
#ia_pd 2 lan
ia_pd 2/::/64 lan/0/64
networking ipv6
  • 1 个回答
  • 820 Views
Martin Hope
jan
Asked: 2019-07-20 00:09:32 +0800 CST

为什么 localhost 解析为 ::1 而不是 127.0.0.1

  • 10

有了getent hosts localhost,我才得到::1,虽然我期待127.0.0.1。我禁用了 IPv6,所以得到::1更令人惊讶。更令人困惑的是,当 I 时ping localhost,ping 被发送到127.0.0.1哪个有效。有人可以解释一下吗?

~: getent hosts localhost
::1             localhost

~: grep 'hosts:' /etc/nsswitch.conf 
hosts: files mymachines myhostname resolve [!UNAVAIL=return] dns

~: cat /etc/sysctl.d/disable_ipv6.conf 
net.ipv6.conf.all.disable_ipv6=1

~: ping ::1
connect: Network is unreachable

~: ping 127.0.0.1
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.022 ms

~: ping localhost
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.015 ms

编辑:localhost我的/etc/hosts.

networking ipv6
  • 1 个回答
  • 1682 Views
Martin Hope
Malvineous
Asked: 2019-04-24 20:15:46 +0800 CST

如何从 systemd-resolved 中删除错误的 DNS 服务器 IP?

  • 8

所以我正在测试一个路由器,它向我网络上的所有机器添加了一些随机 IPv6 地址,包括我的 DNS 服务器。不知何故,这些 IP 作为有效的 DNS 服务器被广播(不确定只有真正的路由器如何发送 IPv6 RA 数据包),但长话短说,现在我所有的机器都在向不存在的 IP 地址发送 DNS 查询。

如果我重新启动resolved,systemctl restart systemd-resolved那么resolvectl仍然会将这些虚假 IP 显示为有效的名称服务器。

它们已列在其中,/etc/resolv.conf因此如果我将它们删除并重新启动systemd-resolved,它只会重新添加虚假 IP。

如果我查看日志,journalctl --unit=systemd-resolved它会告诉我虚假 IP 正在“降级功能模式”下运行,但没有告诉我从哪里找到这些 IP。

它从哪里获取这些错误的 IP 地址?是否需要删除一些缓存文件以使其恢复为仅使用 IPv6 路由器广告提供的 IP?

ipv6 systemd-resolved
  • 3 个回答
  • 11591 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve