Netfilter 表示他们支持 ipv6 的 SNAT 和 DNAT。我查看 ip6tables 的手册页,发现列出了 SNAT 和 DNAT。所以我的问题是你如何为他们制定规则?我尝试对 iptables 使用相同的规则结构,但 ip6tables 没有 nat 表,并且 SNAT/DNAT 是虚拟状态。所以我不知道要对以下示例进行哪些修改:
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 1.2.3.4
适用于 ip6tables。谢谢您的帮助!
IPv4 需要 NAT 来保护地址。NAT 的防火墙特性也有利于安全。IPv4 NAT 防火墙规则是“阻止传入数据包remote-address:port -> local-address:port,除非local-address:port -> remote-address:port在最后 X 秒内发送传出数据包”。
对于点对点 UDP 应用程序,这需要介绍服务器来进行 NAT 打孔。对于Client连接到Server(包括有防火墙的NAT后面,FW),我们需要进行如下操作的情况发生:
periodic
keep-alive
Introducer <------>
Client FW FW Server
------------------------------------------
request
introduction
-------> Introducer
Client FW FW Server
--------------------->X
request connection
------------------------------------------
notify
introduction
[Client address:port]
Introducer ------->
Client FW FW Server
------------------------------------------
Client FW FW Server
<---------------------------
hello
------------------------------------------
Client FW FW Server
--------------------------->
request connection
------------------------------------------
Client FW FW Server …Run Code Online (Sandbox Code Playgroud) 我有一个由 apache 服务的网站。它适用于 IPv4,但不适用于 IPv6。我有一个 500 错误。
这是我的 ports.conf 文件:
# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default.conf
Listen 80
NameVirtualHost *:80
<IfModule ssl_module>
Listen 443
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
</IfModule>
Run Code Online (Sandbox Code Playgroud)
还有我的虚拟主机:
<VirtualHost *:80 [::]:80>
DocumentRoot "/var/www/html/mysite.ca/www.mysite.ca"
ServerName mysite.ca
<Directory "/var/www/html/mysite.ca/www.mysite.ca">
allow from all
Options +Indexes
</Directory>
ServerAlias www.mysite.ca
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
当我这样做时netstat-tlnpt,我有这个:
Active Internet connections (only servers)
Proto Recv-Q Send-Q …Run Code Online (Sandbox Code Playgroud) 我有一台同时具有 IPv6 和 IPv4 地址的服务器。是否可以通过IPv6接口通过 HTTP 连接到另一个 Web 服务器(我只知道它的 IPv4 地址),以便该服务器只能看到我的 IPv6 IP 作为源地址?
在使用 iptables 设置规则并检查一切正常后,我还为 IPv6 地址设置了相同的规则,并注意到我无法连接到我服务器的任何 IPv6 地址和端口。默认策略是DROP除了我手动允许的端口之外的所有内容。
规则看起来像:
-P INPUT DROP
-A INPUT -i lo -j ACCEPT
-A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
...
Run Code Online (Sandbox Code Playgroud)
老实说,我使用iptables和运行这些命令,ip6tables虽然在 IPv4 上一切正常,但我无法从外部通过 IPv6 连接。
我是否应该允许 IPv6 不需要 IPv4 的其他内容?
Server 2016,这是我们的 SCCM 服务器。我正在尝试对我们的 SCCM 实例进行故障排除,但我注意到 IPv6 本地链接地址的末尾包含“坏”一词。
我从字面上找不到任何地方提到这一点。谁能解释一下?
我正在寻找一种工具,非常类似于 rdisc6,它将在收到 RA 后使用静态 IID 在接口上配置 v6 地址。这是一个需要位于 ULA 内已知地址的服务器。(不,我不能使用 mDNS 和 SLAAC,因为涉及到绑定到名称的证书,并且在配置此接口之前,mDNS 甚至可能无法工作)。
如果必须的话,我会扩展 rdisc6,但我希望不要复制某人已经做过的事情。这将在 LXC 容器内的 Linux (armv7) 上运行。
我的服务器托管了 2 个不同的网站,这些网站最近在浏览器上加载速度很慢。
在网上查看了潜在原因和解决方案后,我遇到了这个线程。
建议的解决方案之一是禁用我想尝试的 IPv6,但是,由于我不精通该领域,因此我首先想确保我完全了解这将做什么(这样做的后果是什么) ,如果可以,那么知道在不破坏我的服务器/网站的情况下这样做的安全方法是什么。
我需要在fail2ban 中将一个ipv6 地址列入白名单,但是当我将它们添加到我的jail.conf 中的ignoreip 语句时,它们无论如何都会被阻止。这就是我所拥有的/etc/fail2ban/jail.conf
[DEFAULT]
ignoreip = 192.168.100.0/24 , 2a02:2020:2020::1,
Run Code Online (Sandbox Code Playgroud)
有人知道如何在fail2ban中将IPv6地址列入白名单吗?
根据RFC3315:
每个 DHCP 客户端和服务器都有一个 DUID。DHCP 服务器使用 DUID 来标识客户端以选择配置参数以及将 IA 与客户端关联。DHCP 客户端在需要识别服务器的消息中使用 DUID 来识别服务器。
[...]
客户端和服务器必须将 DUID 视为不透明值,并且必须仅比较 DUID 是否相等。客户端和服务器不得以任何其他方式解释 DUID。
对于 IPv4,DHCP 服务器根据 MAC 地址等为客户端分配固定地址是很常见的。那么对于 IPv6,DHCPv6 服务器如何分配固定的 IPv6 地址呢?