J'ai la configuration réseau suivante:
# ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:e0:1c:73:02:09
inet addr:10.1.4.41 Bcast:10.1.255.255 Mask:255.255.0.0
inet6 addr: fe80::2e0:4cff:fe75:309/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:858600 errors:0 dropped:0 overruns:0 frame:0
TX packets:1069549 errors:0 dropped:0 overruns:5 carrier:0
collisions:0 txqueuelen:1000
RX bytes:142871181 (136.2 MiB) TX bytes:717982640 (684.7 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:37952 errors:0 dropped:0 overruns:0 frame:0
TX packets:37952 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:3396918 (3.2 MiB) TX bytes:3396918 (3.2 MiB)
J'ai un serveur DHCP sur mon réseau et je peux obtenir le bail suivant:
lease {
interface "eth0";
fixed-address 10.1.4.41;
option subnet-mask 255.255.0.0;
option routers 10.1.255.253;
option dhcp-lease-time 120;
option dhcp-message-type 5;
option domain-name-servers 82.160.125.52,213.199.198.248,82.160.1.1;
option dhcp-server-identifier 192.168.22.22;
renew 3 2014/01/01 18:34:41;
rebind 3 2014/01/01 18:35:30;
expire 3 2014/01/01 18:35:45;
}
Je peux cingler 127.0.0.1
, ::1
, 10.1.4.41
:
$ ping 10.1.4.41
PING 10.1.4.41 (10.1.4.41) 56(84) bytes of data.
64 bytes from 10.1.4.41: icmp_seq=1 ttl=64 time=0.065 ms
64 bytes from 10.1.4.41: icmp_seq=2 ttl=64 time=0.075 ms
64 bytes from 10.1.4.41: icmp_seq=3 ttl=64 time=0.085 ms
^C
--- 10.1.4.41 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 0.065/0.075/0.085/0.008 ms
$ 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.066 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.056 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.055 ms
^C
--- 127.0.0.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1999ms
rtt min/avg/max/mdev = 0.055/0.059/0.066/0.005 ms
$ ping6 ::1
PING ::1(::1) 56 data bytes
64 bytes from ::1: icmp_seq=1 ttl=64 time=0.052 ms
64 bytes from ::1: icmp_seq=2 ttl=64 time=0.049 ms
64 bytes from ::1: icmp_seq=3 ttl=64 time=0.037 ms
^C
--- ::1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1998ms
rtt min/avg/max/mdev = 0.037/0.046/0.052/0.006 ms
Je ne peux pas cingler l'adresse IPv6 fe80::2e0:4cff:fe75:309
:
$ ping6 fe80::2e0:4cff:fe75:309
connect: Invalid argument
J'ai défini quelques règles iptables (ipv4):
# iptables -S
-P INPUT DROP
-P FORWARD DROP
-P OUTPUT ACCEPT
-N TCP
-N UDP
-A INPUT -i eth0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i tun0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -m conntrack --ctstate INVALID -j DROP
-A INPUT -p udp -m conntrack --ctstate NEW -j UDP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j TCP
-A INPUT -p tcp -j REJECT --reject-with tcp-reset
-A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable
-A INPUT -j REJECT --reject-with icmp-proto-unreachable
-A OUTPUT -m conntrack --ctstate INVALID -j DROP
Et cela fonctionne comme prévu pour ipv4. Mais quand je vérifie ip6tables, je peux voir certains paquets y aller:
# ip6tables -nvL
Chain INPUT (policy ACCEPT 381 packets, 27624 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 390 packets, 26296 bytes)
pkts bytes target prot opt in out source destination
J'ai suivi ce guide, et ils disent que je devrais copier la configuration iptables (ipv4) et la coller dans ip6tables (ipv6). Mais quand je fais cela, aucun paquet ne peut passer par la règle RELATED,ESTABLISHED
de la table ipv6. Tous sont supprimés en raison de la politique de chaîne INPUT ( DROP
).
# ip6tables -nvL
Chain INPUT (policy DROP 5 packets, 360 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all eth0 * ::/0 ::/0 ctstate RELATED,ESTABLISHED
0 0 ACCEPT all lo * ::/0 ::/0
0 0 ACCEPT all tun0 * ::/0 ::/0 ctstate RELATED,ESTABLISHED
0 0 DROP all * * ::/0 ::/0 ctstate INVALID
0 0 UDP udp * * ::/0 ::/0 ctstate NEW
0 0 TCP tcp * * ::/0 ::/0 tcp flags:0x17/0x02 ctstate NEW
0 0 REJECT tcp * * ::/0 ::/0 reject-with tcp-reset
0 0 REJECT udp * * ::/0 ::/0 reject-with icmp6-port-unreachable
Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 DROP all * * ::/0 ::/0 ctstate INVALID
Chain TCP (1 references)
pkts bytes target prot opt in out source destination
Chain UDP (1 references)
pkts bytes target prot opt in out source destination
Comme vous pouvez le voir, il n'y a pas de paquets de sortie, alors pourquoi Google et l'échange de piles essaient de se connecter à ma machine? Et comment font-ils parce que même je ne peux pas cingler mon adresse ipv6?
Ils disent également que si mon FAI n'a pas ipv6 (dans le bail, il n'y a pas d'entrée ipv6), je devrais désactiver ipv6 et je l'avais déjà fait en utilisant ipv6.disable=1
. J'ai posé une question similaire à meta.stackoverflow.com
, et j'ai obtenu une réponse que je ne devrais pas désactiver ipv6.
Je ne sais pas quoi faire. J'ai des problèmes de connexion, je veux dire que parfois je ne peux pas accéder aux pages à l'échange de pile, ou à Google, j'ai également des problèmes avec pastebin.com. Dans chaque cas, il y a les mêmes symptômes - après avoir tapé une adresse dans mon navigateur, je dois parfois attendre plusieurs minutes pour accéder au site et après l'avoir rechargé 2-3 fois, je peux le parcourir librement, au moins pendant une certaine période de temps.
icmpv6
règle mais limitée à 20 / min, et je peux voir que les paquets y vont.ping6 -I eth0 fe80::2e0:4cff:fe75:309
fonctionne également.