最上面的底线:我不能得到一个接收RAs的Linux盒子来使用RFC4191 “Default Router Preference”值来select更高优先级的路由。 相反,它首先学到的任何默认路线都是它所使用的,这对所有人都是不利的。 我错过了一个configuration选项,还是内核升级,或者我只是注定了所有时间 ? 长版本: 我有一个HA默认网关(VRRP / keepalived)的networking。 上游ISP将/ 48路由到网关,然后切割/ 64块分配给我的基础设施中的机器(以便它们可以将全局可路由地址分配给它们运行的容器)。 然后,每台机器通过radvd通告其容器/ 64到networking的其余部分(使用AdvDefaultLifetime 0来显示它没有默认路由)。 网关盒子也有容器运行,所以他们有自己的/ 64并且做广告,但是有AdvDefaultLifetime 30因为网关确实有默认路由。 我希望能够在网关上进行有状态的防火墙,所以两个方向上的所有stream量都需要经过HA网关对的同一个成员。 没关系,我可以这样做 – 一个keepalived具有更高的优先级,我只是告诉radvd在该机器上也以更高优先级通告其默认路由。 这样,如果“主”机器掉下来,所有的东西都会路由到另一台机器上,我们就可以。 除了… Linux似乎没有做任何事情的路由器偏好值。 我仔细研究了内核源代码,尽pipe它仔细保留了path标记中的值,而且rt6_score_route甚至看起来像是根据首选项做了一些事情 ,但我在生产中观察到的行为(使用3.13内核的Ubuntu 14.04)是无论哪个默认路由首先被学习,哪一个都被使用,不pipe哪一个具有更高的优先级。 除了冒险改变radvdconfiguration文件(其中一个使用AdvDefaultLifetime 30 ,当MASTER和另一个使用AdvDefaultLifetime 0时, BACKUP )并且每当keepalived提升/降级时重新加载radvd,我该怎么做才能确保RA中具有更高优先级的路由首选?
情况 我正在运行Etherpad ,它通过nginx代理。 Etherpad使用带有Socket.io的Websockets。 我的nginxconfiguration或多或less是这一个 。 socket.io的位置块是这样的: rewrite /CustomSubDir/socket.io/(.*) /socket.io/$1 break; proxy_pass http://localhost:CustomPort/; proxy_redirect / /CustomSubDir/; proxy_cookie_path / /CustomSubDir/; # usual proxy header proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-NginX-Proxy true; # websocket proxy_set_header Accept-Encoding ""; proxy_http_version 1.1; # http://nginx.org/en/docs/http/websocket.html proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_set_header Host $host; proxy_buffers 8 […]
我有一个Debian 7服务器设置,并且在一段时间之后会一直丢失IPv6连接。 我发现默认的路由被删除,并且是什么似乎导致问题。 任何帮助解决这个问题将不胜感激。 ip-6路由正常: 2605:6000:40a:1a::/64 dev eth1 proto kernel metric 256 2605:6000:70a:1a::/64 dev eth1 proto kernel metric 256 2605:6000:c0a:1a::/64 dev eth1 proto kernel metric 256 2605:6000:5fc0:1a::/64 dev eth1 proto kernel metric 256 fe80::/64 dev eth1 proto kernel metric 256 fe80::/64 dev br0 proto kernel metric 256 fe80::/64 dev tap0 proto kernel metric 256 default […]
最终目标是通过在lo接口上设置多个具有相同/ 128的服务器来获得每个分组的ipv6 udp负载均衡。 首先,试图让它与静态路由一起工作,然后开始使用Quagga或类似的软件包来探索BGP。 这必须在100%的虚拟环境中完成。 从我的search看,发行说明看起来像是在Linux Kernel 3.6中添加的。 但是我还没有能够设置这个function的成功演示。 使用ip命令,我应该可以添加多个路由到相同的IPv6子网,权重相同。 例如: ip -6 route add badd:badd:badd:1::1/128 nexthop via badd:badd:badd:2::1 nexthop via badd:badd:badd:2::2 我的服务器连接到badd:badd:badd:2 :: / 64并且可以同时达到badd:badd:badd:2 :: 1和badd:badd:badd:2 :: 2。 其他两个服务器在lo界面上都有badd:badd:1 :: 1/128。 我每次看到的情况是数据包只能通过路由表中的最后一个条目路由。 如果我用IPv4复制这个设置,我看到数据包路由通过表中的两个条目切换每隔一个数据包。 我已经尝试了多个内核3.10,4.4,4.6,但每个都收到了相同的结果。 我做错了什么,还是不支持? 谢谢!
为了苹果,6月1日以后所有的应用程序都必须支持ipv6,所以我需要重新configuration我的ios应用程序。 所以我用ipv6创build一个本地networking。 我的拓扑如下。 我configuration绑定9.8上的A和AAAAlogging和PTRlogging。 我可以查询本地(:: 1)的所有域与ipv6像下面,但如果其他设备写DNS查询IP到IPV6,它会超时。 所以请求用tshark听,我看到ICMPV6无法访问。 我可以ping所有本地IPV6,并可以traceroute them.i认为这是关于防火墙,closures它,但没有改变。 如果nslookup服务器configuration了ipv4,则dns查询可以响应A和AAAA结果。 在named.conf中,允许查询选项是任何,我从[这里]得到教程:http:// seoroot.com/blog/computing/systems-administration/setup-dns-server-for-ipv6-and-ipv4-查询 – 使用 – BIND9合的CentOS-linux.html 这里有一个问题,即为什么dns查询结果不能去目的地,即使可以ping或traceroute。 感谢帮助和回应。 named.conf中: options { listen-on port 53 {any;}; listen-on-v6 port 53 {any;}; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { any; }; recursion yes; allow-update { none; }; dnssec-enable yes; dnssec-validation yes; dnssec-lookaside auto; bindkeys-file "/etc/named.iscdlv.key"; […]
我在设备上有一个简单的CoAP服务器,该设备实现了我想使用Mozilla Firefox +铜插件testing的BLE Internet协议支持configuration文件。 到目前为止,我已经设法连接到我的设备,并使用其链接本地地址进行ping。 不幸的是,Firefox无法访问链接本地地址,所以为了使用它,我必须用可路由的地址来configuration我的设备。 我有这个configuration文件… /etc/radvd.conf: interface bt0 { AdvSendAdvert on; prefix 2001:db8::/64 { AdvOnLink off; AdvAutonomous on; AdvRouterAddr on; }; }; 然后我在linux的子网中设置一个地址,启用转发并重新启动radvd。 sudo ip address add 2001:db8::1/64 dev bt0 echo 1 | sudo tee /proc/sys/net/ipv6/conf/all/forwarding sudo service radvd restart 这是ifconfig bt0的输出: bt0 Link encap:UNSPEC HWaddr 00-15-83-FF-FE-E8-EB-0B-00-00-00-00-00-00-00-00 inet6 addr: fe80::215:83ff:fee8:eb0b/64 Scope:Link inet6 addr: […]
我遇到了让IPv6在Windows Server上工作的问题,而它在Ubuntu服务器上工作: 我有一个由netcup.de托pipe的VServer与一个分配的IPv4( 37.120.aaa.bbb )和一个IPv6子网( 2a03:4000:xxxx:yyyy :: / 64 )。 根据主机,IPv6网关必须设置为fe80 :: 1 。 运行新安装的Windows Server(2012R2 / 2016),如果将静态IPv6( 2a03:4000:xxxx:yyyy :: 1000 )和指定的网关分配给NIC,则ping -6 ipv6.google.com导致超时。 没有连接,传出ping会导致超时,ping不通地址。 同时ping fe80 :: 1%4会导致超时。 在同一台机器上运行新安装的Ubuntu Server 16.04,如果我通过编辑/ etc / network / interfaces来设置静态IPv6(就像我在Windows Server上那样) iface eth0 inet6 static address 2a03:4000:xxxx:yyyy::1000 netmask 64 gateway fe80::1 ping6 ipv6.google.com成功,因为每个传出和ping6 fe80::1%eth0 ping( ping6 fe80::1%eth0也可以)。 tl;在同一台机器上运行相同的IPv6设置在Ubuntu […]
我在家build立了一个基于Debian的服务器,它处理DHCP和一堆其他服务。 不幸的是,即使机器能够使用IPv6,我的ISP也不支持它。 我想知道是否有可能从我的networking路由到外部服务器的ipv6stream量。 我已经恢复了一个退役的服务器,这是很好的去与两个协议。 它有两个公共地址分配给它,我也包括设置的路由。 inet addr:86.XX.XX.190 Bcast:86.XX.XX.255 Mask:255.255.255.0 default via 86.XX.XX.1 dev eth0 86.XX.XX.0/24 dev eth0 proto kernel scope link src 86.XX.XX.190 inet6 addr: 2a03:XXXX:10:abe::1/64 Scope:Global 2a03:XXXX:10:abe::/64 dev eth0 proto kernel metric 256 fe80::/64 dev eth0 proto kernel metric 256 default via fe80::1 dev eth0 metric 1024 正如我之前所说,这些地址是公开的。 我已经在外部服务器上build立了一个OpenVPN,并将我的家庭服务器作为一个客户端连接到它,只使用IPv4。 工作得很好,两台机器都可以在创build的networking中互相ping通。 我想实现的是使用这个外部服务器来处理我家的ipv6stream量。 我相信这是可能的,不是吗? 我不知道如何解决这个问题,因为ipv6似乎真的很复杂。 任何forms的帮助,将不胜感激。 […]
我有一个小型Linux系统,在有线eth0和无线(AP模式) wlan0networking接口之间运行桥接器br0 。 对于br0我启用了IPv6(无状态)自动configuration; 这实际上是由dhcpcd处理的。 请注意, dhcpcd被configuration为执行无状态自动configuration, 无法看到任何有状态的DHCPv6 。 由于我的系统是一种适用于IPv6的诊断工具,因此我在不同的IPv6networking(子网)之间定期切换:在交换机上拉电缆,将其插入另一个端口。 现在这个设置的问题是: eth0是桥br0的从接口。 当我将电缆插入eth0 (和交换机)时,现在不会触发任何IPv6路由器请求 。 原因似乎是, br0从来没有看到任何从RUNNING转换或从RUNNING转换,但最初提出时例外。 重新启动br0不是一个选项。 当eth0进入RUNNING状态,即插入以太网电缆(当然是两端)时,如何configurationbr0或eth0来启动IPv6路由器请求?
编辑:添加额外的.conf文件,并略有改变措辞,由马可build议 我正在运行应该支持IPv6的Fail2ban v0.10 。 我已经根据这些指示设置了nftables的Fail2ban ,除了我使用nftables的'inet'系列而不是ip系列,因为我想允许IPv6stream量到我的服务器。 服务器可通过IPv6访问,我的防火墙(nftables)似乎正确configuration,据我所知(表inetfilter)。 然而,'表inet fail2ban'是为什么我这个post,在我看来,Fail2ban只读取IPv4日志,并阻止违规的IPv4主机。 我正在读这个吗? 如果有的话,是否有人知道如何使Fail2ban与IPv6stream量一起工作? 我知道Fail2ban v0.10 changelog指出并不是所有的禁止动作都是IPv6的,但我似乎无法find一个列表。 一个链接到我可以find的信息也欢迎,因为我似乎无法find自己。 我只包括recidive监狱configuration,因为我认为,如果我可以入狱与IPv6的工作,我可以做其他人一样,如果我误以为这个假设请告诉我:) 我的nftables规则集: table inet filter { chain input { type filter hook input priority 0; policy accept; ct state { related, established} accept ct state invalid drop iifname "lo" accept ip protocol icmp accept ip6 nexthdr ipv6-icmp accept tcp dport […]