作为学校项目的一部分,我正在构建一个包含大约 10 个虚拟路由器和 20 台主机(也已虚拟化)的实验室网络。目的是展示广泛的 IPv6 路由、部署和转换机制。但是,有一个问题......我只能使用非常有限的网络资源 - 最大。10 个具有单独打开的端口/协议的 IP。对于这样的双栈网络,我需要至少 /25 的 IPv4 空间来舒适地实现网络,而无需求助于私有 IP 范围和 NAT(至少在骨干区域),并且还能够演示 6to4 和类似机制.
从当地学术 LIR 获得临时 IP 范围分配是可能的,但这是一个相当大的官僚负担(不太可能在 4 月份我的项目到期时完成)。运行 BGP 也不是我的选择,所以我无法带上自己的 PI 空间。
由于网络的性能对我来说不是很重要,我想,我可以使用隧道来“带来”更多的 IP 到网络。我知道有很多 IPv6 隧道代理,所以让 IPv6 进入并不是真正的问题。我正在寻找的是一个类似的概念,仅适用于 IPv4 地址 - 不是单个地址,而是整个子网。
那么,是否存在一个 IPv4 隧道代理,我可以在其中租用一个子网并通过隧道(GRE、IPIP、OpenVPN 等)将其路由给我?
我知道在 IPv4 子网掩码中,网络由第一组、第二组或第三组八位字节决定。IPv6中字符多,如何确定子网掩码?
我在混合 IPv4 / IPv6 环境中工作。我读到可以使用此语法将 IPv4 地址映射到 IPv6 空间
::ffff:1.2.3.4(1.2.3.4 是 IPv4 地址)
Linux 是否支持这种表示法?所有这些都在我的服务器上失败:
ping6 ::ffff:1.2.3.4 # to the server IP
ping6 ::ffff:127.0.0.1
Run Code Online (Sandbox Code Playgroud) 我仍然对 IPv4 映射 IPv6 地址的用途感到困惑,希望得到一些启发。
我有一对服务器客户端机器,我打算通过 OpenVPN 连接它们。服务器具有 IPv6 地址,而客户端仅具有 IPv4 地址。当我 ping 客户端的 IPv4 映射 IPv6 地址时,有响应。但是,当我配置客户端连接到服务器的 IPv6 地址时,我无法连接。我已将客户端的 IPv4 映射 IPv6 地址包含到 Openvpn 客户端配置文件 -- local 中
我们交换一下这对吧。现在,服务器有一个 IPv4 地址(带有 IPv4 映射的 IPv6 地址),客户端有一个 IPv6 地址。我也无法通过连接到服务器的 IPv4 映射 IPv6 地址来建立 Openvpn 连接。
在这种情况下,当涉及到 Openvpn 连接时,当 IPv4 映射 IPv6 地址时,这里有什么好处呢?
TLDR:例如,我有一台 IP 为 126.10.13.2 的纯 IPv4 计算机,它的 IPv4 映射 IPv6 地址为 ::ffff:7e0a:d02。我有另一台 IPv6 机器,IP 为 2a04::dead:beef:5802:A。我如何通过 Openvpn 连接它们?我似乎无法将两台机器的 IPv6 地址连接在一起。
如果互联网服务提供商/电信公司不采取行动,亚洲人和北美人将在互联网上分开。欧洲对 IPv6 的进展比北美快得多。目前有哪些解决方案可用,正在开发哪些解决方案?尤其是在北美。
我有一台笔记本电脑无线连接到 E4200 Linksys 路由器。路由器配置为使用范围从 #.#.#.100 到 #.#.#.254 的 DHCP。但是,膝上型电脑分配的 IP 地址为 #.#.#.80,低于指定的 DHCP 范围。我不确定这怎么可能。此外,笔记本电脑具有互联网连接。
出于好奇,我ping -a从另一个客户端对我的笔记本电脑分配的 IP 地址执行了 a ,它显示了一个完全不同的主机名。
关于为什么为笔记本电脑分配了路由器中指定的 DHCP 范围之外的 IP 地址的任何想法?
我有一台要从中传输数据的服务器。我们遇到了一些问题,可以追溯到服务器发送巨型帧的事实,尽管ifconfig报告 MTU 为 1500。这怎么可能?该机器正在运行 CentOs 5,这是通过 ipv4 发生的。
如何告诉服务器停止发送大小大于 1500 的数据包?
我正在使用 nginx 1.4.1(现在是 1.2.1 之前)并且希望支持双栈(IPv4 和 IPv6)。我总是duplicate listen options for xyz从 nginx收到错误。
server {
listen 80 default_server;
listen [::]:80 ipv6only=on default_server;
server_name domain1;
}
server {
listen 443 ssl default_server;
listen [::]:443 ssl ipv6only=on default_server;
server_name domain1;
}
server {
listen 80;
listen [::]:80 ipv6only=on;
server_name domain2;
}
server {
listen 443 ssl;
listen [::]:443 ssl ipv6only=on;
server_name domain2;
}
Run Code Online (Sandbox Code Playgroud)
如果我只使用,listen 80我只会得到 IPv4。否则,如果我使用,listen [::]:80我只会得到 IPv6。
如何设置nginx 1.4.x支持虚拟主机双栈?
在 Ubuntu 12.04 上的 nginx (1.4.2) 设置中,我只设置了一个配置文件(我删除/禁用了其他文件):
server {
listen [::]:80 default_server;
location / {
root /home/lwood/websites/default/public;
}
}
Run Code Online (Sandbox Code Playgroud)
我已经重新启动了 nginx。
为什么 nginx 不接受 IPv4 连接?这是文档
http://wiki.nginx.org/HttpCoreModule#listen
他们提到
在 Linux 中,默认情况下,任何 IPv6 TCP 套接字也接受 IPv4 流量……运行时参数:net.ipv6.bindv6only,默认值为 0。
我已经检查过sysctl,bindv6only 确实设置为 0。所以我的 IPv6 监听指令也应该接受 IPv4,对吗?
我一定是误解了文档。一个解释将不胜感激。
我在我拥有的 VPS(Debian 8.6)上遇到了奇怪的行为,老实说,我已经到了不知道如何进一步调查或修复它的地步。
据我所知,操作系统只能处理对 IPv6 地址的传出请求,而不能处理对 IPv4 地址的传出请求:
在 IPv4 上对谷歌的 curl 请求:
$ curl -v -4 google.be
* Rebuilt URL to: google.be/
* Hostname was NOT found in DNS cache
* Trying 172.217.17.67...
* connect to 172.217.17.67 port 80 failed: Connection timed out
* Failed to connect to google.be port 80: Connection timed out
* Closing connection 0
curl: (7) Failed to connect to google.be port 80: Connection timed out
Run Code Online (Sandbox Code Playgroud)
跟踪路由到 IPv4 上的谷歌:
$ traceroute 172.217.17.67
traceroute to 172.217.17.67 …Run Code Online (Sandbox Code Playgroud)