Problème SteamCMD et firewall

Bonjour,

Voici mon Firewall:

[quote]# Vider les tables actuelles
iptables -t filter -F

Vider les règles personnelles

iptables -t filter -X

Interdire toute connexion entrante et sortante

iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT DROP

Ne pas casser les connexions etablies

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

Autoriser loopback

iptables -t filter -A INPUT -i lo -j ACCEPT
iptables -t filter -A OUTPUT -o lo -j ACCEPT

ICMP (Ping)

iptables -t filter -A INPUT -p icmp -j ACCEPT
iptables -t filter -A OUTPUT -p icmp -j ACCEPT

SSH In

iptables -t filter -A INPUT -p tcp --dport 1567 -j ACCEPT

SSH Out

iptables -t filter -A OUTPUT -p tcp --dport 1567 -j ACCEPT

DNS In/Out

iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT

NTP Out

iptables -t filter -A OUTPUT -p udp --dport 123 -j ACCEPT

HTTP + HTTPS Out

iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 443 -j ACCEPT

HTTP + HTTPS In

iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 8443 -j ACCEPT

FTP Out

iptables -t filter -A OUTPUT -p tcp --dport 20:21 -j ACCEPT

FTP In

modprobe ip_conntrack_ftp
iptables -t filter -A INPUT -p tcp --dport 20:21 -j ACCEPT
iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Mail SMTP:25

iptables -t filter -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 25 -j ACCEPT

Mail POP3:110

iptables -t filter -A INPUT -p tcp --dport 110 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 110 -j ACCEPT

Mail IMAP:143

iptables -t filter -A INPUT -p tcp --dport 143 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 143 -j ACCEPT

Mail POP3S:995

iptables -t filter -A INPUT -p tcp --dport 995 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 995 -j ACCEPT

TEAMSPEAK

iptables -A INPUT -p udp --dport 9987 -j ACCEPT
iptables -A INPUT -p udp --sport 9987 -j ACCEPT

#STEAMCMD
iptables -A INPUT -p udp -m udp --sport 27000:27030 --dport 1025:65355 -j ACCEPT
iptables -A INPUT -p udp -m udp --sport 4380 --dport 1025:65355 -j ACCEPT[/quote]

echo Firewall chargé

Mon problème est le suivant, je souhaite installer un serveur de jeu sur mon serveur dédié. J’utilises donc SteamCMD (doc: developer.valvesoftware.com/wiki/SteamCMD:fr)

Problème, quand je dois me connecter à mon compte Steam avec, j’obtiens l’erreur suivante:

Login Failure: no connection

Or, dans la documentation, il est écrit que si j’ai cette erreur, je dois entrer ces règles:

[quote]iptables -A INPUT -p udp -m udp --sport 27000:27030 --dport 1025:65355 -j ACCEPT
iptables -A INPUT -p udp -m udp --sport 4380 --dport 1025:65355 -j ACCEPT[/quote]

Entrées, mais elle ne résolvent pas mon problème… Des idées ?

Merci d’avance !

UP !

Personne n’a une piste… un moyen de déboguer la chose peut être… ?

Pour déboguer, tu peux ajouter une règle avec la cible LOG à la fin des chaînes INPUT et OUTPUT. Cela créera une ligne dans les logs du noyau pour chaque paquet qui arrive en fin de chaîne, donc n’a été accepté ou bloqué par aucun règle.

Quand tu parles de te connecter à ton compte Steam, s’agit-il d’une connexion d’une machine cliente à ton serveur ou de ton serveur à un service extérieur de Valve ?

Bonjour,

Merci pour ton début d’aide.

Je penses que la connexion à mon compte Steam se passe de mon serveur à Valve, tout simplement.
J’arrives à avoir le numéro de port utilisé, mais ce port est aléatoire (il varie de 1025 à 65355 selon les sources).

Comment dois-je utiliser la règle ?

Comme cela ?

ou

Merci d’avance !
(Je suis débutant IPTables)

Juste ceci en fin de script.

iptables -A INPUT -j LOG iptables -A OUTPUT -j LOG

S’il s’agit d’une connexion sortante de ton serveur vers l’extérieur, il faut créer une règle correspondante dans la chaîne OUTPUT.

Note : Je trouve tes deux dernières règles pour SteamCMD bizarres, on dirait qu’elles servent à accepter des paquets de réponse (port source à peu près défini mais port destination large donc ce sont des passoires). Ton jeu de règles a déjà des règles pour cela avec ESTABLISHED. Je ne connais pas du tout Steam, mais je mettrais plutôt des règles comme ceci :

[code]# accepter les connexions Steam entrantes
iptables -A INPUT -p udp --dport 27000:27030 -j ACCEPT
iptables -A INPUT -p udp --dport 4380 -j ACCEPT

accepter les connexions Steam sortantes

iptables -A OUTPUT -p udp --dport 27000:27030 -j ACCEPT
iptables -A OUTPUT -p udp --dport 4380 -j ACCEPT[/code]

Merci pour tes règles, cela marche maintenant.

Les règles fournies viennent de Valve directement, je n’ai fais que suivre le Wiki Dev :stuck_out_tongue:

Merci encore à toi, les règles que tu m’as fourni sont qui plus est, simples à comprendre !