La différence entre la gamme de ports locaux et le port d'expédition UDP utilisant dig sur le convertisseur de noms de noms Debian
Quand je me tourne vers ma gamme locale de ports dans Debian 7, Je vois ma gamme de ports temporaires:
Mon
Vider.
Cela signifie généralement que toutes les demandes de ce convertisseur de noms de noms doivent utiliser des ports de cette gamme. Cependant, en utilisant
, Quand je regarde la demande et la réponse DNS, Créé avec de l'aide
, Je vois que la demande peut utiliser le port d'expédition vers 1500.
Par exemple, dans ce qui suit
Exemple (
), La demande est venue du port 15591. Il est beaucoup plus bas que la limite de port de serveurs minimum pour les ports éphémères, que nous avons vus auparavant: 32768. En d'autres termes, utilisez
, Enquête DNS Aller au-delà de la gamme de ports locaux.
Je me demande ce qui pourrait changer la gamme de ports éphémères sur mon Debian 7 et 8. La seule chose qui, peut-être, vaut la peine de mentionner. J'ai utilisé sur l'un d'eux
Et on utilise
Connecter deux ports Ethernet.
Résolveur - C'est le serveur lui-même et
Mais il fait la même chose avec
car ipv4 et ipv6 partagé
(
http://www.tldp.org/HOWTO/Linu ... .html
) Et j'ai aussi essayé.
Pour éviter toute confusion avec IPv6, J'ai décidé d'utiliser seulement Ipv4. Je n'ai ajouté que
à
.
Résultats ci-dessous C.
dans
seul.
Puis j'ai émis
Clear Kesh DNS du convertisseur I.
J'ai ouvert la deuxième fenêtre du terminal et a marqué
:
De nombreux archives, mais j'ai remarqué que peu importe la demande (A, PTR ...) Et l'hôte, les demandes DNS peuvent être expédiées du port ci-dessous. 32768
Ce problème est lié à mon pare-feu. Puisque les ports temporaires peuvent être émis à partir de (Ma propre hypothèse) de 1024 avant que 65000, Cela signifie que je ne peux pas bloquer le trafic entrant provenant des ports ci-dessus 1024, Comme dans les vieux jours. Si je le fais, je vais ralentir ou bloquer la permission DNS.
Mise à jour: merci, je comprends que si je veux utiliser le serveur en tant que convertisseur DNS, Cela signifie que je dois prendre en compte cette gamme de ports UDP 1024: 65535 C'est une gamme de ports temporaires.
</unfinished>
cat /proc/sys/net/ipv4/ip_local_port_range
32768 61000
Mon
/etc/sysctl.conf
Vider.
Cela signifie généralement que toutes les demandes de ce convertisseur de noms de noms doivent utiliser des ports de cette gamme. Cependant, en utilisant
tcpdump
, Quand je regarde la demande et la réponse DNS, Créé avec de l'aide
dig
, Je vois que la demande peut utiliser le port d'expédition vers 1500.
Par exemple, dans ce qui suit
tcpdump
Exemple (
tcpdump udp and port 53 and host server.domain
), La demande est venue du port 15591. Il est beaucoup plus bas que la limite de port de serveurs minimum pour les ports éphémères, que nous avons vus auparavant: 32768. En d'autres termes, utilisez
dig
, Enquête DNS Aller au-delà de la gamme de ports locaux.
11:57:33.704090 IP baremetal.15591 > M.ROOT-SERVERS.NET.domain: 41939% [1au] A? r.arin.net. (39)
11:57:33.704400 IP baremetal.41573 > M.ROOT-SERVERS.NET.domain: 40945% [1au] A? t.arin.net. (39)
11:57:33.704541 IP baremetal.22658 > M.ROOT-SERVERS.NET.domain: 44090% [1au] AAAA? t.arin.net. (39)
11:57:33.705295 IP baremetal.13277 > M.ROOT-SERVERS.NET.domain: 42356% [1au] A? v.arin.net. (39)
11:57:33.705499 IP baremetal.48755 > M.ROOT-SERVERS.NET.domain: 32253% [1au] A? w.arin.net. (39)
11:57:33.705639 IP baremetal.55309 > M.ROOT-SERVERS.NET.domain: 64660% [1au] AAAA? w.arin.net. (39)
11:57:33.705812 IP baremetal.56652 > M.ROOT-SERVERS.NET.domain: 43023% [1au] A? y.arin.net. (39)
11:57:33.706012 IP baremetal.26383 > M.ROOT-SERVERS.NET.domain: 42377% [1au] AAAA? y.arin.net. (39)
11:57:33.706172 IP baremetal.12895 > M.ROOT-SERVERS.NET.domain: 13206% [1au] AAAA? z.arin.net. (39)
Je me demande ce qui pourrait changer la gamme de ports éphémères sur mon Debian 7 et 8. La seule chose qui, peut-être, vaut la peine de mentionner. J'ai utilisé sur l'un d'eux
ifenslave
Et on utilise
ifenslave
Connecter deux ports Ethernet.
Résolveur - C'est le serveur lui-même et
#cat /etc/resolv.conf
nameserver ::1
Mais il fait la même chose avec
nameserver 127.0.0.1
car ipv4 et ipv6 partagé
/proc/sys/net/ipv4/ip_local_port_range
(
http://www.tldp.org/HOWTO/Linu ... .html
) Et j'ai aussi essayé.
Pour éviter toute confusion avec IPv6, J'ai décidé d'utiliser seulement Ipv4. Je n'ai ajouté que
nameserver 127.0.0.1
à
/etc/resolv.conf
.
Résultats ci-dessous C.
nameserver 127.0.0.1
dans
/etc/resolv.conf
seul.
Puis j'ai émis
rndc flush
Clear Kesh DNS du convertisseur I.
dig google.com
J'ai ouvert la deuxième fenêtre du terminal et a marqué
tcpdump udp and port 53
:
De nombreux archives, mais j'ai remarqué que peu importe la demande (A, PTR ...) Et l'hôte, les demandes DNS peuvent être expédiées du port ci-dessous. 32768
>strace -f dig www.google.com 2>&1 | egrep 'sendmsg|recvmsg|connect|bind'
open("/usr/lib/libbind9.so.80", O_RDONLY) = 3
[pid 10651] bind(20, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("0.0.0.0")}, 16) = 0
[pid 10651] recvmsg(20, 0x7f5dd95cab60, 0) = -1 EAGAIN (Resource temporarily unavailable)
[pid 10651] sendmsg(20, {msg_name(16)={sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("127.0.0.1")}, msg_iov(1)=[{"\251\261\1\0\0\1\0\0\0\0\0\0\3www\6google\3com\0\0\1\0\1", 32}], msg_controllen=0, msg_flags=0}, 0 <unfinished ...="">
[pid 10651] <... sendmsg resumed> ) = 32
[pid 10651] recvmsg(20, {msg_name(16)={sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("127.0.0.1")}, msg_iov(1)=[{"\251\261\201\200\0\1\0\1\0\4\0\4\3www\6google\3com\0\0\1\0\1"..., 65535}], msg_controllen=32, {cmsg_len=32, cmsg_level=SOL_SOCKET, cmsg_type=0x1d /* SCM_??? */, ...}, msg_flags=0}, 0) = 184
Ce problème est lié à mon pare-feu. Puisque les ports temporaires peuvent être émis à partir de (Ma propre hypothèse) de 1024 avant que 65000, Cela signifie que je ne peux pas bloquer le trafic entrant provenant des ports ci-dessus 1024, Comme dans les vieux jours. Si je le fais, je vais ralentir ou bloquer la permission DNS.
Mise à jour: merci, je comprends que si je veux utiliser le serveur en tant que convertisseur DNS, Cela signifie que je dois prendre en compte cette gamme de ports UDP 1024: 65535 C'est une gamme de ports temporaires.
</unfinished>
Aucun résultat connexe trouvé
Invité:
Pour répondre aux questions, connectez-vous ou registre
1 réponses
Giselle
Confirmation de:
ou que cela ne s'applique généralement pas à ce type de script, je pense plutôt qu'il est directement lié à la complication des fausses réponses DNS.
Nous voyons dans votre
La conclusion que vous avez
Envoi de datagramme sur
(Il y a une sorte de convertisseur de serveurs), mais
la sortie semble être liée au trafic de ce serveur de la reconnaissance et non
Lui-même.
Vieux normal DNS (sans pour autant DNSSEC) seulement compté sur
https://tools.ietf.org/html/rfc1035#section-4.1.1
et les données B.
question
section pour correspondre à la réponse reçue par UDP, Avec une demande qui a été expédiée plus tôt.
En raison du fait que datagrammes UDP Facile à faux, et seulement avec 16 Les bits de hasard qui doivent deviner si vous avez un nom spécifique comme objectif, il permet de deviner l'identifiant de transaction correct (moyen 32k hypothèses) Avant de recevoir une vraie réponse .
Par conséquent, tous les serveurs de résolution moderne
http://www.kb.cert.org/vuls/id/800113
Augmenter le nombre de bits aléatoires qui doivent deviner.
Vous avez vraiment besoin de plus grande gamme de ports, il semble donc que ce soit randomisé dans tout le port des ports> 1024, Ce qui va ajouter un nombre important de bits de hasard par rapport au fait qu'il vous donne le traitement standard de votre système d'exploitation.
C'est-à-dire que je pense que cela est simplement considéré comme la "meilleure pratique" d'ignorer le traitement habituel des ports locaux du système d'exploitation pour les prises.