iptables autorise tout sortant – ne peut toujours pas résoudre dns ou faire une request http

J'ai configuré iptables de cette façon:

Table: mangle Chain PREROUTING (policy ACCEPT) num target prot opt source destination Chain INPUT (policy ACCEPT) num target prot opt source destination Chain FORWARD (policy ACCEPT) num target prot opt source destination Chain OUTPUT (policy ACCEPT) num target prot opt source destination Chain POSTROUTING (policy ACCEPT) num target prot opt source destination Table: filter Chain INPUT (policy DROP) num target prot opt source destination 1 VZ_INPUT all -- 0.0.0.0/0 0.0.0.0/0 Chain FORWARD (policy DROP) num target prot opt source destination 1 VZ_FORWARD all -- 0.0.0.0/0 0.0.0.0/0 Chain OUTPUT (policy ACCEPT) num target prot opt source destination 1 VZ_OUTPUT all -- 0.0.0.0/0 0.0.0.0/0 Chain VZ_FORWARD (1 references) num target prot opt source destination Chain VZ_INPUT (1 references) num target prot opt source destination 1 ACCEPT tcp -- 12.123.12.myip 0.0.0.0/0 tcp dpt:22 2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 6 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:53 7 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:53 8 ACCEPT tcp -- 127.0.0.1 127.0.0.1 9 ACCEPT udp -- 127.0.0.1 127.0.0.1 13 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 255 Chain VZ_OUTPUT (1 references) num target prot opt source destination 1 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 3 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 255 4 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 state NEW udp dpt:53 5 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:53 Table: nat Chain PREROUTING (policy ACCEPT) num target prot opt source destination Chain POSTROUTING (policy ACCEPT) num target prot opt source destination Chain OUTPUT (policy ACCEPT) num target prot opt source destination 

Je peux faire un ping aux hôtes par IP, mais je ne peux pas faire de ping aux hôtes par nom ni wget http://ipaddress/ from line de command.

 root ~ # ping google.com root ~ # ping 89.33.254.54 PING 89.33.254.54 (89.33.254.54) 56(84) bytes of data. 64 bytes from 89.33.254.54: icmp_seq=1 ttl=54 time=82.2 ms --- 89.33.254.54 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 82.263/82.263/82.263/0.000 ms root ~ # wget http://89.33.254.50 --2011-12-09 17:21:03-- http://89.33.254.50/ Connecting to 89.33.254.50:80... 

Pourquoi, si tout le trafic de sortie est autorisé, je ne peux pas me connecter à des hôtes distants? Je suppose que je dois ouvrir d'autres ports INPUT mais quels sont ces?

One Solution collect form web for “iptables autorise tout sortant – ne peut toujours pas résoudre dns ou faire une request http”

Je vous recommand d'append des règles à la string INPUT qui permet des packages ESTABLISÉS et CONNEXES:

 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 

Si plus tard, vous verrouillez votre string OUTPUT plus, vous allez également vouloir la règle OUTPUT correspondante:

 iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 

Ces règles sont sécurisées et vous constaterez qu'elles sont généralement parmi les premières règles ajoutées dans presque tous les scripts de pare-feu. ÉTABLI signifie que "une fois que j'ai autorisé la connection à être établie, laissez tous les packages pour cette connection via" cela n'autorise pas la création de connections autrement refusées. "CONNEXION" permet des packages utiles comme "Depuis que j'ai envoyé une requête pour démarrer une connection, permettez le package ICMP qui me dit que cet hôte n'est pas accessible" ou "Puisque j'ai autorisé une connection ftp, permet également la connection ftp". Encore une fois, il ne devrait pas permettre la création de connections supplémentaires qui n'étaient pas déjà autorisées par d'autres règles.

À l'heure actuelle, vous autorisez la requête DNS à sortir, mais pas la réponse à revenir. Vous autorisez actuellement dpt: 53 qui permet à quelqu'un d'interroger votre server DNS, mais ne consortingbue pas à une réponse DNS (que vous attendez d'avoir 53 pour un port source, mais pas un port dest)

Une autre chose à noter est que, puisque votre politique par défaut de OUTPUT est ACCEPTÉE, toutes vos autres règles ne sont pas utiles (puisqu'elles sont toutes ACCEPTÉES). Donc, vous dites essentiellement "si le package est l'un des types de packages suivants, ACCEPTEz-les, sinon ACCEPTEz-les de toute façon", vous pouvez ignorer toutes les règles dans ce cas et simplement dire "Accepter tous les packages sortants" Cela ressemble à , cependant, cela est temporaire jusqu'à ce que le trafic DNS fonctionne mieux.

  • utilisation manuelle du réseau via iptables
  • Qu'est-ce que mon EC2 CentOS vm supprime les packages HTTP ELB mais pas les connections directes?
  • Fichier HOSTS partiel lue
  • Le renvoi de port iptables pour le port UDP n'a aucun effet
  • Configuration de plusieurs servers pour partager une IP statique à l'aide de sous-domaines
  • Comment puis-je apather le trafic sur différentes interfaces (routes) par protocole?
  • IPsec et pinging rightsubnets
  • Redirection avec IPTABLES tout en cachant le port d'origine
  • Fournir un access public à un server Web local via VPN
  • Countermeasures contre l'attaque de reflection DNS entrante
  • Comment puis-je bloquer une adresse IP sur ubuntu?
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.