我尝试在 CentOS 6.2 上配置静态 IPv4 和 IPv6 配置。
下面的配置完美地工作:
# ifconfig eth0 x.x.x.x/29
# route add defalt gw x.x.x.y
# ip addr add dev eth0 XXXX:C810:3001:D00::3/56
# ip -6 route add default XXXX:C810:3001:D00::1
Run Code Online (Sandbox Code Playgroud)
但是,我想在重新启动后保留此配置。
于是我做了如下配置:
启用 IPv6
[root@test network-scripts]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=test.net
NETWORKING_IPV6=yes
Run Code Online (Sandbox Code Playgroud)
接口配置
[root@test network-scripts]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="static"
ONBOOT="yes"
HWADDR="2C:C3:AC:A8:C3:3E"
IPADDR=x.x.x.x
GATEWAY=x.x.x.x
NETMASK=255.255.255.248
TYPE=Ethernet
IPV6INIT=yes
IPV6ADDR=XXXX:C810:3001:D00::3/56
IPV6_DEFAULTGW=XXXX:C810:3001:D00::1
DNS1=208.67.222.222
DNS2=208.67.220.220
# Only DNS{1,2} according to /usr/share/doc/initscripts-9.03.27/sysconfig.txt
# DNS3=2620:0:ccc::2
# DNS4=2620:0:ccD::2
Run Code Online (Sandbox Code Playgroud)
重启网络
[root@test network-scripts]# service network restart
Arrêt de …Run Code Online (Sandbox Code Playgroud) $ netstat -nat
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp6 0 0 :::22 :::* LISTEN
Run Code Online (Sandbox Code Playgroud)
为什么端口 22 (:::22和0.0.0.0:22)有两条记录,为什么一个使用协议 astcp而另一个使用tcp6
这是在 Ubuntu 12.04.4 上
我最近不得不使用一些具有 IPv6 连接的服务器,我惊讶地发现 fail2ban 不支持 IPv6,denyhosts 也不支持。在谷歌上搜索我发现人们普遍推荐:
从我目前收集到的信息来看,禁止在 IPv6 中使用地址与在 IPv4 中有点不同,因为 ISP 不会为用户提供单个地址 (/128),而是整个子网(我目前有一个 /48)。因此,禁止单个 IPv6 地址对攻击无效。我在 ip6tables 和 sshguard 阻止子网攻击检测的主题上进行了高低搜索,但我没有找到任何信息。
有谁知道 sshguard 是否禁止子网进行 IPv6 攻击?
有谁知道如何进行 ip6tables 配置来禁止 IPv6 攻击的子网?
或者有没有人知道比我已经发现的更好的减轻攻击的方法?
PS:我在系统上使用 CentOS 7。
我的 中有以下块/etc/hosts:
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
Run Code Online (Sandbox Code Playgroud)
它们是由 Ubuntu 中的一些 automagic 插入的,而不是我写的。我发现很多文件都说你应该有这些行。但为什么?为什么他们是可取的?
我的怀疑是它们不是,而且只是粗糙的(除了第一个)。因为如果你用谷歌搜索其中一个名称,例如ip6-allrouters,你找到的只是对它们的引用,/etc/hosts但实际上没有人使用它们。
表述这个问题的另一种方式是,如果我删除这些行,会对我造成什么伤害或哪些功能将无法正常运行?如果答案是none,我们是否可以得出它们是多余的结论?
在 Linux 中,我可以通过以下方式获取和设置临时端口的范围/proc/sys/net/ipv4/ip_local_port_range:
$ cat /proc/sys/net/ipv4/ip_local_port_range
32768 61000
Run Code Online (Sandbox Code Playgroud)
我想控制 IPv6 的临时端口范围,但/proc/sys/net/ipv6.
IPv4 的设置是否也适用于 IPv6 连接?还是有另一种方法来设置 IPv6 的临时端口范围?
如何查看我的计算机接收的 IPv6 路由器广告以进行诊断?
大多数发行版是否有“内置”工具?
我遇到了一个问题,一段时间后我失去了与 IPv6 地址上的服务器的连接,结果证明是由默认INPUT策略丢弃的 DHCPv6 客户端数据包(端口 546)引起的DROP,这是我关于这个问题的问题,我的规则是:
-A INPUT -i lo -j ACCEPT
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p ipv6-icmp -j ACCEPT
-A INPUT -s IP_OF_ANOTHER_HOST -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-P INPUT DROP
Run Code Online (Sandbox Code Playgroud)
我认为这些规则已经足够了,特别是允许RELATED和ESTABLISHED连接,因为我的OUTPUT链的默认策略是ACCEPT,但我不得不添加这个规则来接受 …
我正在尝试使用 netcat(或者更确切地说是 nc6)设置一个仅基本 IPv6 的回显服务器。客户端和服务器都在同一个本地网络中。但是,客户端立即退出:
IPv6-服务器:
$ nc6 -6 -vv --continuous --exec cat -l -p 5555
nc6: listening on :: 5555 ...
Run Code Online (Sandbox Code Playgroud)
IPv6-客户端:
$ nc6 -6 -vv fe80::213:33ff:feab:ff5d 5555
nc6: fe80::213:33ff:feab:ff5d (fe80::213:33ff:feab:ff5d) 5555 [5555] open
nc6: using stream socket
nc6: using buffer size of 8192
nc6: error reading from remote: Transport endpoint is not connected
nc6: connection closed (sent 0, rcvd 0)
nc6: readwrite returned -1
nc6: closed local
nc6: closed remote
$
Run Code Online (Sandbox Code Playgroud)
有什么问题?
我应该将服务器配置为仅在其接口之一上侦听传入连接吗?(如何?)
IPv4 版本工作正常:
IPv4-服务器:
nc6 -vv …Run Code Online (Sandbox Code Playgroud) 根据 IPv6 标准,Linux 为接口分配 IPv6 链路本地地址。这些接口始终分配有 /64 地址。这样对吗?我认为它们应该是/10。为什么给它们分配 /64 地址?
我目前正在为 Ubuntu 18.04 服务器配置网络接口,使用 netplan 和网络后端。我的托管提供商为此服务器提供了 IPv4 和 IPv6,但是 IPv6 不会自动配置,而我目前正在尝试这样做。
我的netplan配置文件如下:
network:
version: 2
ethernets:
ens3:
dhcp4: true
dhcp6: true
match:
macaddress: xx:xx:xx:xx:xx:xx
set-name: ens3
Run Code Online (Sandbox Code Playgroud)
运行时netplan apply,分配的 IPv6 不会出现在 中ip addr。我认为这是因为我的提供商可能不提供 IPv6 的 DHCP,但如果我没记错(通过设置不同的服务器),日志中会显示错误systemd-networkd,但我只能看到:
systemd[1]: Starting Network Service...
systemd-networkd[9367]: ens3: Gained IPv6LL
systemd-networkd[9367]: Enumeration completed
systemd[1]: Started Network Service.
systemd-networkd[9367]: lo: Link is not managed by us
systemd-networkd[9367]: ens3: DHCPv4 address xxx.xxx.xxx.xxx/32 via yyy.yyy.yyy.yyy
systemd-networkd[9367]: ens3: Configured
Run Code Online (Sandbox Code Playgroud)
当尝试通过 DHCP 获取 IPv6 时,它没有显示任何我理解的错误(Gained …