Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1129 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  réseaux et sécurité

  [Debian] - Pb port 80 pour 2 ip & Port forwarding

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Debian] - Pb port 80 pour 2 ip & Port forwarding

n°1012176
Profil sup​primé
Posté le 18-02-2008 à 03:07:59  answer
 

[:debian]
Bonjour,
 
Je me creuse la tête et vadrouille sur le net depuis quelques jours pour lancer une application sur le port 80 de mon ip secondaire sur un serveur dédié "lowcoast". J'espère qu'une âme charitable voudra bien me venir en aide, je lui en serais très reconnaissant !
 
La situation initiale :
On a 2 ip sur cette Debian :

eth0 88.191.xxx.xx1
eth0:0 88.191.xxx.xx2


Apache a été configuré pour écouter le port 80 de l'ip 1 (eth0) et mon fameux serveur qui n'est autre qu'un icecast a été configuré pour écouter le port 80 de l'ip 2 (eth0:0). Les 2 serveurs sont exécutés depuis root. Extrait de mon netstat :

tcp 0  0  88.191.xxx.xx2:80   0.0.0.0:*    LISTEN    19315/icecast
tcp 0  0  88.191.xxx.xx1:80   0.0.0.0:*    LISTEN    16033/apache2


Là vous me direz, tout a l'air clean.. hé bien mon Icecast, bien que démarrant correctement et ne laissant aucune trace d'erreur dans ses logs, ne répond pas sur le port 80. Pourtant il répond correctement sur le 8080 par exemple, ou encore 8000... J'ai retourné la situation dans tous les sens. Icecast fait la geule quand un autre service utilise un port que j'essais de lui assigner, donc je suis certain qu'il prend bien le port 80 quand il démarre correctement.
 
La solution de la mort qui tue :
Donc j'ai trouvé qu'une seule solution : la redirection de port ("port forwarding" ). Je crois, car je n'y ai encore jamais touché, que l'on peut rediriger un port avec iptable.
 
Pour être plus clair dans mon idée, je pense à rediriger le port 80 entrant sur l'interface eth0:0 de mon ip 2 vers le port 8080 écouté par Icecast par exemple.
 
Questions :
Comment effectuer cette redirection ?
Y a-t-il une autre solution pour régler mon problème ?
 
 
Je suis sûrement passé à côté de quelque chose, c'est pourquoi j'en viens à votre aide !
Un gros merci d'avance à tous ceux qui auront la gentillesse de me répondre  :D


Message édité par Profil supprimé le 18-02-2008 à 13:55:08
mood
Publicité
Posté le 18-02-2008 à 03:07:59  profilanswer
 

n°1012185
o'gure
Modérateur
Multi grognon de B_L
Posté le 18-02-2008 à 07:46:05  profilanswer
 

et si tu postais ta conf ?
sinon tu as bien suivi : http://www.icecast.org/docs/icecas [...] .html#misc


---------------
Relax. Take a deep breath !
n°1012296
Profil sup​primé
Posté le 18-02-2008 à 13:36:53  answer
 

Oui bien sûr pour la configuration il n'y a pas de problème puisque tout fonctionne sur d'autres ports.
 
Mais voici les points spécifiques à ma situation :
Domaine, ip et port :

<hostname>nom2.tld<hostname>
<listen-socket>
        <port>80</port>
        <bind-address>88.191.xxx.xx2</bind-address>
</listen-socket>


Lancement de l'application sous root pour optenir l'autorisation d'utiliser le port 80 (<1024), donc configuration de l'icecast avec un autre utilisateur (http://www.icecast.org/docs/icecas [...] l#security):

<security>
    <chroot>0</chroot>
    <changeowner>
        <user>nom_de_lutilisateur</user>
        <group>nom_de_lutilisateur</group>
    </changeowner>
</security>


 
 
Commande et résultat :

root@nom:~# icecast -c /home/nom_de_lutilisateur/icecast/icecast.xml
Changed groupid to 1002.
Changed userid to 1002.


L'application tourne correctement. Voici la sortie en logs/error.log :

[2008-02-18  13:35:10] INFO main/main Icecast 2.3.1 server started
[2008-02-18  13:35:10] INFO stats/_stats_thread stats thread started
[2008-02-18  13:35:10] INFO fserve/fserv_thread_function file serving thread started
[2008-02-18  13:35:10] INFO yp/yp_recheck_config Adding new YP server "http://dir.xiph.org/cgi-bin/yp-cgi" (timeout 15s, default interval 30s)
[2008-02-18  13:35:10] INFO yp/yp_update_thread YP update thread started
[2008-02-18  13:35:10] INFO auth/auth_run_thread Authentication thread started
[2008-02-18  13:35:11] INFO slave/start_relay_stream Starting relayed source at mountpoint "/nom_de_mon_flux"


Message édité par Profil supprimé le 18-02-2008 à 13:51:37
n°1012298
Profil sup​primé
Posté le 18-02-2008 à 13:45:22  answer
 

Et voici une batterie de tests de requête sous IP-Tools avec son outil HTTP :
 
Sans serveur lancé sur le port 80 :

Requesting http://88.191.xxx.xx2:80 ..  
Error: Connection refused (Error #10061)

Avec l'icecast lancé sur le port 80 :

Requesting http://88.191.xxx.xx2:80 ..  
Error: Connection refused (Error #10061)

---
 
Sans serveur lancé sur le port 8000 :

Requesting http://88.191.xxx.xx2:8000 ..  
Error: Connection refused (Error #10061)

Avec l'icecast lancé sur le port 8000 :

Requesting http://88.191.xxx.xx2:8000 .. Ok
Reply received (reply time: 625 ms)
-----------------------------------
HTTP/1.0 200 OK
Content-Type: text/html
Content-Length: 13057
 
 
<?xml version="1.0" encoding="UTF-8"?>
....

Et pour vérifier, sur l'ip 1 (eth0) parrallèlement pendant que l'icecast est lancé sur le port 8000 de l'ip 2 (eth0:0) :

Requesting http://88.191.xxx.xx1:8000 ..  
Error: Connection refused (Error #10061)


Message édité par Profil supprimé le 18-02-2008 à 13:45:53
n°1012300
Profil sup​primé
Posté le 18-02-2008 à 13:48:46  answer
 

Et niveau pare-feu, voici la situation de mon serveur, tout est ouvert :

root@nom:~# iptables -L -v -n
Chain INPUT (policy ACCEPT 5016K packets, 2803M 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 5423K packets, 3752M bytes)
 pkts bytes target     prot opt in     out     source               destination

n°1012304
o'gure
Modérateur
Multi grognon de B_L
Posté le 18-02-2008 à 14:00:49  profilanswer
 

pour voir qui est en écoute sur quel port, avec les privilèges root :

netstat -laptnu

 

Si tu vois que apache écoute sur toutes les adresses sur le port 80 => corrige la conf pour qu'il n'écoute que sur la première adresse.

 

edit: quoique vu les tests au dessus, même apache n'écoute pas sur ce port.


Message édité par o'gure le 18-02-2008 à 14:01:35

---------------
Relax. Take a deep breath !
n°1012305
Profil sup​primé
Posté le 18-02-2008 à 14:03:48  answer
 

root@univup:~# netstat -laptnu |  grep :80  |  grep LISTEN
tcp        0      0 0.0.0.0:8002            0.0.0.0:*               LISTEN     27306/portsentry
tcp        0      0 88.191.xxx.xx1:8005      0.0.0.0:*               LISTEN     16033/apache2
tcp        0      0 88.191.xxx.xx2:80        0.0.0.0:*               LISTEN     31504/icecast
tcp        0      0 88.191.xxx.xx1:80        0.0.0.0:*               LISTEN     16033/apache2


Message édité par Profil supprimé le 18-02-2008 à 14:07:15
n°1012309
o'gure
Modérateur
Multi grognon de B_L
Posté le 18-02-2008 à 14:15:53  profilanswer
 

D'après le netstat icecast écoute sur le port 80 de la bonne adresse[:spamafote]

tcp        0      0 88.191.xxx.xx2:80        0.0.0.0:*               LISTEN     31504/icecast


Message édité par o'gure le 18-02-2008 à 14:16:10

---------------
Relax. Take a deep breath !
n°1012321
Profil sup​primé
Posté le 18-02-2008 à 14:39:29  answer
 

Effectivement o'gure c'est ce qui me fait perdre raison lol. Mais je crois que je suis sur une piste !
 
J'ai appellé l'url http://88.191.xxx.xx2:80 depuis l'utilitaire w3m de ma Debian et je vois bien ma page Icecast. Idem depuis un script php PhProxy appellé depuis l'apache local.
 
Mais par contre pas depuis un autre serveur dédié d'un autre hébergeur, ni même depuis l'outil de traduction google, ni depuis une quelconque autre ip.
 
Apparement le port 80 ne répond qu'en local  :heink:
 
 
edit: Idem avec un wget local qui est déjà plus propre je l'avoue.

$ wget http://88.191.xxx.xx2
--14:43:29--  http://88.191.xxx.xx2/
           => `index.html'
Connexion vers 88.191.xxx.xx2:80...connecté.
requête HTTP transmise, en attente de la réponse...200 OK


Message édité par Profil supprimé le 18-02-2008 à 14:50:26
n°1012330
Profil sup​primé
Posté le 18-02-2008 à 14:57:42  answer
 

Pour vérifier que ca ne vienne pas de l'Icecast, je viens de faire écouter apache l'ip 2. Extrait de sa conf :

Listen 88.191.xxx.xx1:80
Listen 88.191.xxx.xx2:80

Puis un netstat :

# netstat -laptn |  grep :80 | grep LISTEN  | grep apache2
tcp        0      0 88.191.xxx.xx1:8005      0.0.0.0:*               LISTEN     16033/apache2
tcp        0      0 88.191.xxx.xx2:80        0.0.0.0:*               LISTEN     16033/apache2
tcp        0      0 88.191.xxx.xx1:80        0.0.0.0:*               LISTEN     16033/apache2

Puis une requete http depuis mon poste :

Requesting http://88.191.xxx.xx2:80 ..  
Error: Connection refused (Error #10061)


Et enfin une requete http depuis le wget local :

$ wget http://88.191.xxx.xx2
--14:56:57--  http://88.191.xxx.xx2/
           => `index.html.2'
Connexion vers 88.191.xxx.xx2:80...connecté.
requête HTTP transmise, en attente de la réponse...200 OK


 
On en conclu donc que ce n'est pas du niveau de l'application. Mais d'où ça peut venir alors ? J'ai de la merde dans les yeux ou quoi ? lol


Message édité par Profil supprimé le 18-02-2008 à 15:00:37
mood
Publicité
Posté le 18-02-2008 à 14:57:42  profilanswer
 

n°1012343
o'gure
Modérateur
Multi grognon de B_L
Posté le 18-02-2008 à 15:10:26  profilanswer
 

Tu as du NAT, firewall quelque part ?


---------------
Relax. Take a deep breath !
n°1012345
Profil sup​primé
Posté le 18-02-2008 à 15:20:56  answer
 

Non pas que je sache. J'ai uniquement Portsentry qui écoute plusieurs ports et banni les ip qui les appellent, mais dans notre cas il n'écoute pas notre port.
 
Je n'ai pas ajouté de firewall ou touché au nat, mais je me suis fais aidé pour installer la bécane. Donc j'essai de voir en parrallèle avec cette personne, mais il y a peut-être une facon de vérfier directement ?
 
 
edit: je regarde au niveau de route, mais vu que ce n'est que le port 80, c'est sûrement pas là qu'on doit chercher

# route -n | grep 0.0.0.0
88.191.xx1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
88.191.xx2.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0
0.0.0.0         88.191.xx1.1     0.0.0.0         UG    0      0        0 eth0

# route -n | grep 88.191.xx2
88.191.xx2.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0


Message édité par Profil supprimé le 18-02-2008 à 15:28:18
n°1014584
Profil sup​primé
Posté le 24-02-2008 à 17:30:29  answer
 

up!

n°1014586
zecrazytux
Posté le 24-02-2008 à 17:54:03  profilanswer
 

nat loopback ?


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
n°1014587
Profil sup​primé
Posté le 24-02-2008 à 18:11:22  answer
 

zecrazytux a écrit :

nat loopback ?


 
C'est à dire ?

n°1110820
shurik84
Posté le 06-02-2009 à 11:32:43  profilanswer
 

bonjour, j'ai egalement un probleme de redirection de port
je posséde 2 réseaux différents sous windows xp et entre les 2, je dispose d'un serveur debian qui va faire office plus tard de proxy/firewall et pour tester cela j'ai installé wamp sur les 2 poste xp et je n'arrive pas a faire accédé un poste xp au serveur web ( 2ieme poste xp ) par l'intermediaire du serveur debian
 
Réseau 1 : 192.168.0.0
Réseau 2 : 192.168.147.0
Serveur Debian : 4 interfaces
eth0 : 192.168.0.254
eth3 : 192.168.147.254
 
Dans le server debian :  
 
iptables -t nat -A POSTROUTING -i eth3 -p tcp --dport 80 -j DNAT --to destination 192.168.147.10
Il m'indique cette ligne : Bad IP address `destination'
 
Aucun soucis de ping ! Le poste XP ne ping pas l'autre poste XP étant donné que c'est 2 réseaux différents
De plus je suis sous virtualisation VMWare !  
 
Ma question : La ligne iptables est elle correcte ?
Pour permettre l'accès du poste XP 1 au serveur Web ( Poste XP 2 )
Il faut utiliser la commande route ou IPtables ?
 
Merci de votre aide !


Message édité par shurik84 le 06-02-2009 à 11:34:41
n°1110823
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 06-02-2009 à 11:35:05  profilanswer
 

pourquoi faire du nat en interne ? il suffit juste d'activer le routage, de mettre les bonnes routes/passerelles aux machines XP et basta/


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
n°1110826
shurik84
Posté le 06-02-2009 à 11:39:30  profilanswer
 

effectivement mais c'est que par la suite je veut simuler entre les 2 machine server web XP: 2 accés
 
1 qui arrive a accéder au web et 1 autre accés ou le web est refusé
 
Si je configure les bonne passerelle sur les 2 PC et met en place la route permettant l'accés !  
 
Poste 1 ==> Poste 2 accés web ok
Poste 2 ==> Poste 1 accés web refusé
 
Ou a la limite mettre une autre machine virtuelle et refusé la connection au server web par l'intermediaire du server
Poste 3 ==> Poste 1 ou 2 accés web refusé
 
 
il faut que je mette des regles de filtrage non ?


Message édité par shurik84 le 06-02-2009 à 11:44:11
n°1110827
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 06-02-2009 à 11:45:10  profilanswer
 

J'ai rien compris [:pingouino]


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
n°1110829
shurik84
Posté le 06-02-2009 à 11:52:04  profilanswer
 

ouais je m'en doutais c'est ma faute =D
bon je vais tester avec la commande route
 
Pour faire simple : je veut permettre au poste XP 1 d'accéder au Server Web XP2 par l'intermediaire du Serveur Debian  
 
Parametrage debian : Redirige la demande du poste XP 1 arrivant de l'interface eth0 sur l'adresse 192.168.147.10 ( eth3 ) sur le port 80
 
Puis par la suite empecher la connexion d'une autre machine sur un server Web !
 
Route ? Iptable ? Port forwarding ?


Message édité par shurik84 le 06-02-2009 à 11:56:30
n°1110833
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 06-02-2009 à 11:57:47  profilanswer
 

route + un sysctl (net.ipv4.forwarding (?) à 1)


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
n°1110839
shurik84
Posté le 06-02-2009 à 12:06:42  profilanswer
 

ok merci black lord

n°1110841
Modération
Posté le 06-02-2009 à 12:07:27  answer
 
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  réseaux et sécurité

  [Debian] - Pb port 80 pour 2 ip & Port forwarding

 

Sujets relatifs
Freeplayer sur une Debian sans Serveur XXandros/Debian muet !!!
Serveur mail sous debianRésolu: Geforce 4 sur Debian, mais les applis 3d ne se lancent pas
pb son sous debian EtchRouting/firewall IPv6 avec free sous Debian
[DEBIAN] Logiciel introuvable...debian, xandros ..... et alsa
[résolu] probleme eth* debian : help svp[Debian] Carte réseau intégrée
Plus de sujets relatifs à : [Debian] - Pb port 80 pour 2 ip & Port forwarding


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR