(résolu)Routage IP FreeBSD

gizmo78
Messages : 20534
Inscription : ven. 12 janv. 2018 17:44

(résolu)Routage IP FreeBSD

Message par gizmo78 »

Bonjour à vous,

Je me heurte à un soucis que je ne comprends pas (Melle Z non plus ^^)

En gros voici la plateforme:
internet -------- box ------------- lan1 ------------ routeur FreeBSD -------- lan2

le routeur à accès internet sans soucis, mais c'est pas le cas des vm sur le lan2.

VM aussi sur freebsd, le ping passe sans soucis mais pas la résolution de nom oO

une capture lors d'un ping sur google.fr:
[cpp]root@Firewall:~ # tcpdump -i vtnet1
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on vtnet1, link-type EN10MB (Ethernet), capture size 65535 bytes
11:22:04.038253 IP 172.16.55.2.22163 > 192.168.0.252.domain: 40296+ A? google.fr. (27)
11:22:08.828158 IP 172.16.55.2.56559 > google-public-dns-a.google.com.domain: 4738+ AAAA? 2.freebsd.pool.ntp.org. (40)
11:22:09.072190 IP 172.16.55.2.18492 > google-public-dns-a.google.com.domain: 40296+ A? google.fr. (27)
11:22:11.109640 IP 172.16.55.2.22163 > 192.168.0.252.domain: 40296+ A? google.fr. (27)
11:22:13.844824 IP 172.16.55.2.36048 > 192.168.0.252.domain: 64060+ A? 0.freebsd.pool.ntp.org. (40)
11:22:18.856428 IP 172.16.55.2.10531 > google-public-dns-a.google.com.domain: 64060+ A? 0.freebsd.pool.ntp.org. (40)
11:22:20.862141 IP 172.16.55.2.36048 > 192.168.0.252.domain: 64060+ A? 0.freebsd.pool.ntp.org. (40)
11:22:21.125566 IP 172.16.55.2.18492 > google-public-dns-a.google.com.domain: 40296+ A? google.fr. (27)
11:22:30.904832 ARP, Request who-has 172.16.55.1 tell 172.16.55.2, length 28
11:22:30.904851 ARP, Reply 172.16.55.1 is-at 2a:f6:f0:97:37:51 (oui Unknown), length 28
11:22:30.905147 IP 172.16.55.2.10531 > google-public-dns-a.google.com.domain: 64060+ A? 0.freebsd.pool.ntp.org. (40)
11:22:35.933338 IP 172.16.55.2.23285 > 192.168.0.252.domain: 42471+ AAAA? 0.freebsd.pool.ntp.org. (40)
11:22:40.978190 IP 172.16.55.2.30468 > google-public-dns-a.google.com.domain: 42471+ AAAA? 0.freebsd.pool.ntp.org. (40)
^C
13 packets captured
13 packets received by filter
0 packets dropped by kernel
[/cpp]

Voici ma conf PF:
[cpp]ext_if="vtnet0"
int_if="vtnet1"
nat pass on $ext_if from $int_if:network to any -> ($ext_if)
[/cpp]

et le rc.conf:
[cpp]hostname="Firewall"
keymap="fr.iso.acc.kbd"
ifconfig_vtnet0="inet 192.168.0.190 netmask 255.255.255.0"
ifconfig_vtnet1="inet 172.16.55.1 netmask 255.255.255.0"
defaultrouter="192.168.0.254"
sshd_enable="YES"
ntpd_enable="YES"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="AUTO"

# Router
gateway_enable="YES"
pf_enable="YES" # Enable PF (load module if required)
pf_rules="/etc/pf.conf" # rules definition file for pf
pf_flags="" # additional flags for pfctl startup
pflog_enable="YES" # start pflogd(8)
pflog_logfile="/var/log/pflog" # where pflogd should store the logfile
pflog_flags="" # additional flags for pflogd startup
pflogd_enable="YES"
[/cpp]

Un ping depuis la vm vers une IP d'internet passe sans soucis, mais aucune résolution de nom.

J'avoue ne pas comprendre pk oO

Une idée?

tout est sous FreeBSD 10.2

Merci
Avatar de l’utilisateur
Zedoune
Messages : 15343
Inscription : ven. 12 janv. 2018 17:44

(résolu)Routage IP FreeBSD

Message par Zedoune »

on peut avoir le rc.conf de la vm ?
gizmo78
Messages : 20534
Inscription : ven. 12 janv. 2018 17:44

(résolu)Routage IP FreeBSD

Message par gizmo78 »

[cpp]root@Skoh:/usr/home/gizmo # cat /etc/rc.conf
hostname="Skoh"
keymap="fr.iso.acc.kbd"
ifconfig_vtnet0="inet 172.16.55.2 netmask 255.255.255.0"
defaultrouter="172.16.55.1"
sshd_enable="YES"
ntpd_enable="YES"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="AUTO"
[/cpp]

et voila!
Avatar de l’utilisateur
Zedoune
Messages : 15343
Inscription : ven. 12 janv. 2018 17:44

(résolu)Routage IP FreeBSD

Message par Zedoune »

Essaie cette règle là pour ton pf.conf

nat on $ext_if inet from ! ($ext_if) to any -> ($ext_if)

(ça vient de man rc.conf)




pour tester un truc aussi, sur un serveur avec ip publique, fait

echo "bonjour, tu es sur la machine en UDP port 10000" | nc -l 10000 -u
(ici nc écoute en udp sur le port 10 000 et balance un message à la connexion)

et sur ta vm fait

echo "salut toi" | nc -u IP_PUBLIQUE 10000

normalement ils devraitn s'échanger les messages
gizmo78
Messages : 20534
Inscription : ven. 12 janv. 2018 17:44

(résolu)Routage IP FreeBSD

Message par gizmo78 »

Same :/
Avatar de l’utilisateur
Zedoune
Messages : 15343
Inscription : ven. 12 janv. 2018 17:44

(résolu)Routage IP FreeBSD

Message par Zedoune »

j'ai ajouté un petit test à effectuer :D

tu peux te connecter à 62.210.240.224 si tu veux essayer ^^ (ça marche une fois faut relancer à la main après)
gizmo78
Messages : 20534
Inscription : ven. 12 janv. 2018 17:44

(résolu)Routage IP FreeBSD

Message par gizmo78 »

pas vu ^^

je test
Avatar de l’utilisateur
Zedoune
Messages : 15343
Inscription : ven. 12 janv. 2018 17:44

(résolu)Routage IP FreeBSD

Message par Zedoune »

pas vu ^^

je test
up :D
Avatar de l’utilisateur
c0bw3b
Messages : 5521
Inscription : ven. 12 janv. 2018 17:44
Localisation : Lyon

(résolu)Routage IP FreeBSD

Message par c0bw3b »

Un ping depuis la vm vers une IP d'internet passe sans soucis, mais aucune résolution de nom.
Là comme ça, je me dit : okay t'as une route par défaut définie (on le voit dans ton rc.conf) mais est-ce que tu as un résolveur DNS configuré ?
Est-ce que ton système sait à quelle IP il doit s'adresser pour résoudre un alias ?
Avatar de l’utilisateur
Zedoune
Messages : 15343
Inscription : ven. 12 janv. 2018 17:44

(résolu)Routage IP FreeBSD

Message par Zedoune »


Là comme ça, je me dit : okay t'as une route par défaut définie (on le voit dans ton rc.conf) mais est-ce que tu as un résolveur DNS configuré ?
Est-ce que ton système sait à quelle IP il doit s'adresser pour résoudre un alias ?
il a nameserver 8.8.8.8 dans /etc/resolv.conf (vu en mp déjà ^^)

et une commande dig en précisant le serveur DNS fait un timeout
gizmo78
Messages : 20534
Inscription : ven. 12 janv. 2018 17:44

(résolu)Routage IP FreeBSD

Message par gizmo78 »

si je fais le nc sur l'ip que tu m'as donnée Z ca donne rien, ca attend stout

et si je veux faire la partie serveur sur un debian que j'ai sous le coude y manque un argument faut que je regarde

Cob: ouaip, 8.8.8.8 dans le resolv, ip que je ping bien mais ca tombe en timeouat
Avatar de l’utilisateur
Zedoune
Messages : 15343
Inscription : ven. 12 janv. 2018 17:44

(résolu)Routage IP FreeBSD

Message par Zedoune »

j'ai rien reçu en effet, t'as un problème avec l'UDP tout court, pas avec le DNS.

Je suppose que le firewall est une VM d'après le nom des interfaces réseaux, t'es certain qu'y a pas un truc qui filtre l'UDP quelque part ?

Il n'y a aucune raison pour que ça ne fonctionne pas étant donné les fichiers de configuration
gizmo78
Messages : 20534
Inscription : ven. 12 janv. 2018 17:44

(résolu)Routage IP FreeBSD

Message par gizmo78 »

oui c'est une VM. j'ai le même style de configuration avec du iptables/debian et no soucis :/
kalistyan
Messages : 14259
Inscription : ven. 12 janv. 2018 17:44
Localisation : LYON
Contact :

(résolu)Routage IP FreeBSD

Message par kalistyan »

A partir d'une vm du lan2, que donne un simple telnet ?

telnet 8.8.8.8 53
gizmo78
Messages : 20534
Inscription : ven. 12 janv. 2018 17:44

(résolu)Routage IP FreeBSD

Message par gizmo78 »

timeout :/
kalistyan
Messages : 14259
Inscription : ven. 12 janv. 2018 17:44
Localisation : LYON
Contact :

(résolu)Routage IP FreeBSD

Message par kalistyan »

Ah... Cela confirme la théorique de Mlle Z ! Un problème de filtrage...
Avatar de l’utilisateur
dsebire
Messages : 13158
Inscription : ven. 12 janv. 2018 17:44
Localisation : Loiret - entre la ville et les champs

(résolu)Routage IP FreeBSD

Message par dsebire »

Telnet = tcp, donc ya pas qu'un souci UDP

quand tu ping de ton lan2 vers WAN, tu as bien les paquets qui reviennent ?
l'erreur classique sur iptables, c'est de natter en sortie mais d'oublier de dire que les paquets de réponse doivent revenir.
gizmo78
Messages : 20534
Inscription : ven. 12 janv. 2018 17:44

(résolu)Routage IP FreeBSD

Message par gizmo78 »

depuis le routeur:

[cpp]root@Firewall:/usr/home/gizmo # telnet 8.8.8.8 53
Trying 8.8.8.8...
Connected to google-public-dns-a.google.com.
Escape character is '^]'.
Connection closed by foreign host.[/cpp]

donc c'est vraiment la transition Lan2 -> Lan1

au sein du lan2 ca fonctionne, les commandes nc de Z passent.

@dsebire:

depuis la vm en lan2:
[cpp]$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: icmp_seq=1 ttl=56 time=24.099 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=56 time=25.003 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=56 time=23.956 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=56 time=24.419 ms[/cpp]
gizmo78
Messages : 20534
Inscription : ven. 12 janv. 2018 17:44

(résolu)Routage IP FreeBSD

Message par gizmo78 »

question con, niveau sysctl.conf, y a rien à rajouter?

dedans j'ai rajouté:
# Enablign NAT IPv4
net.inet.ip.forwarding=1
Avatar de l’utilisateur
Zedoune
Messages : 15343
Inscription : ven. 12 janv. 2018 17:44

(résolu)Routage IP FreeBSD

Message par Zedoune »

non ça suffit
gizmo78
Messages : 20534
Inscription : ven. 12 janv. 2018 17:44

(résolu)Routage IP FreeBSD

Message par gizmo78 »

D'accord.

en changeant d'interface de capture avec tcpdump ca donne ca:
[cpp]root@Firewall:/etc # tcpdump -i vtnet0 port not 22
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on vtnet0, link-type EN10MB (Ethernet), capture size 65535 bytes
15:58:46.584755 IP 192.168.0.190.58489 > google-public-dns-a.google.com.domain: 23322+ A? 2.freebsd.pool.ntp.org. (40)
15:58:46.677974 IP 192.168.0.167.mdns > 224.0.0.251.mdns: 0*- [0q] 1/0/0 (Cache flush) TXT "features=0x20F7" "srcvers=101.28" "model=Xbmc,1" "deviceid=B8:27:EB:CE:6C:A8" (130)
15:58:47.465468 IP 192.168.0.190.13870 > google-public-dns-a.google.com.domain: 7860+ PTR? 190.0.168.192.in-addr.arpa. (44)
15:58:47.489254 IP google-public-dns-a.google.com.domain > 192.168.0.190.13870: 7860 NXDomain 0/0/0 (44)
15:58:47.489908 IP 192.168.0.190.21382 > google-public-dns-a.google.com.domain: 37276+ PTR? 8.8.8.8.in-addr.arpa. (38)
15:58:47.555260 IP google-public-dns-a.google.com.domain > 192.168.0.190.21382: 37276 1/0/0 PTR google-public-dns-a.google.com. (82)
15:58:47.555835 IP 192.168.0.190.31530 > google-public-dns-a.google.com.domain: 40350+ PTR? 167.0.168.192.in-addr.arpa. (44)
15:58:47.580148 IP google-public-dns-a.google.com.domain > 192.168.0.190.31530: 40350 NXDomain 0/0/0 (44)
15:58:47.580271 IP 192.168.0.190.57006 > google-public-dns-a.google.com.domain: 874+ PTR? 251.0.0.224.in-addr.arpa. (42)
15:58:47.603761 IP google-public-dns-a.google.com.domain > 192.168.0.190.57006: 874 NXDomain 0/1/0 (99)
15:58:50.481799 IP 192.168.0.190.51084 > google-public-dns-a.google.com.domain: 15834+ A? google.fr. (27)
15:58:51.616266 IP 192.168.0.190.58489 > google-public-dns-a.google.com.domain: 23322+ A? 2.freebsd.pool.ntp.org. (40)
15:58:53.701007 IP 192.168.0.167.mdns > 224.0.0.251.mdns: 0*- [0q] 1/0/0 (Cache flush) TXT "deviceid=B8:27:EB:CE:6C:A8" "model=Xbmc,1" "srcvers=101.28" "features=0x20F7" (130)
15:58:54.814598 IP 192.168.0.167.mdns > 224.0.0.251.mdns: 0*- [0q] 1/0/0 (Cache flush) TXT "deviceid=B8:27:EB:CE:6C:A8" "model=Xbmc,1" "srcvers=101.28" "features=0x20F7" (130)
15:58:55.486338 IP 192.168.0.190.51084 > google-public-dns-a.google.com.domain: 15834+ A? google.fr. (27)
15:58:56.929886 IP 192.168.0.167.mdns > 224.0.0.251.mdns: 0*- [0q] 1/0/0 (Cache flush) TXT "deviceid=B8:27:EB:CE:6C:A8" "model=Xbmc,1" "srcvers=101.28" "features=0x20F7" (130)
15:58:57.342382 ARP, Reply 192.168.0.249 is-at bc:30:5b:e2:72:4b (oui Unknown), length 46
15:58:57.770163 IP 192.168.0.190.64117 > google-public-dns-a.google.com.domain: 14048+ PTR? 249.0.168.192.in-addr.arpa. (44)
15:58:57.793412 IP google-public-dns-a.google.com.domain > 192.168.0.190.64117: 14048 NXDomain 0/0/0 (44)
15:59:01.648037 IP 192.168.0.190.65035 > google-public-dns-a.google.com.domain: 37863+ AAAA? 2.freebsd.pool.ntp.org. (40)
15:59:03.689879 IP 192.168.0.167.mdns > 224.0.0.251.mdns: 0*- [0q] 1/0/0 (Cache flush) TXT "features=0x20F7" "srcvers=101.28" "model=Xbmc,1" "deviceid=B8:27:EB:CE:6C:A8" (130)
15:59:04.779384 IP 192.168.0.167.mdns > 224.0.0.251.mdns: 0*- [0q] 1/0/0 (Cache flush) TXT "features=0x20F7" "srcvers=101.28" "model=Xbmc,1" "deviceid=B8:27:EB:CE:6C:A8" (130)
15:59:06.655783 IP 192.168.0.190.65035 > google-public-dns-a.google.com.domain: 37863+ AAAA? 2.freebsd.pool.ntp.org. (40)
15:59:06.870575 IP 192.168.0.167.mdns > 224.0.0.251.mdns: 0*- [0q] 1/0/0 (Cache flush) TXT "features=0x20F7" "srcvers=101.28" "model=Xbmc,1" "deviceid=B8:27:EB:CE:6C:A8" (130)
[/cpp]

donc ca revient si je dis pas de bêtises?
Avatar de l’utilisateur
dsebire
Messages : 13158
Inscription : ven. 12 janv. 2018 17:44
Localisation : Loiret - entre la ville et les champs

(résolu)Routage IP FreeBSD

Message par dsebire »

ouaip !
gizmo78
Messages : 20534
Inscription : ven. 12 janv. 2018 17:44

(résolu)Routage IP FreeBSD

Message par gizmo78 »

donc pas de soucis ni sur le lan1 ni sur le 2 pour l'udp.

Donc c'est bien le routeur qui fout la merde :/
gizmo78
Messages : 20534
Inscription : ven. 12 janv. 2018 17:44

(résolu)Routage IP FreeBSD

Message par gizmo78 »

ca devient frustrant ^^

si je suis ce lien:
https://www.freebsd.org/doc/en_US.ISO88 ... ls-pf.html

normalement tout est bon!
Avatar de l’utilisateur
Zedoune
Messages : 15343
Inscription : ven. 12 janv. 2018 17:44

(résolu)Routage IP FreeBSD

Message par Zedoune »

les requetes DNS de la vm sur lan2 sont pas envoyées par le routeur, y a bien une trace dans le tcpdump mais le serveur DNS ne reçoit pas la requete

j'ai mis un tcpdump sur mon serveur dns et sur ton firewall et fait un dig sur la vm, le firwall voit la trace mais pas le serveur dns
Répondre