stefanoxjx
14-12-2005, 22:44
Ciao a tutti, sto configurando un Gateway VoIP, il quale richiede una serie di porte aperte sul firewall.
la porta WAN del Gateway VoIP ha il seguente indirizzo: 192.168.0.220
la porta LAN del Gateway VoIP ha il seguente indirizzo: 192.168.0.221
Il router/firewall linux ha 192.168.0.254 e il gateway impostato sull'adattatore VoIP è impostato con lo stesso valore.
Le porte che servono aperte sono: 3478, 5060, 8000, 8001, 8002, 8003.
Io ho aperto le porte sul firewall e attivato il forward verso il 192.168.0.220, però continua a non collegarsi e non riesco a capire cosa ho trascurato.
Questi sono gli script che inizializzano il NAT e il firewall:
#!/bin/bash
EXTERNAL=eth0
INTERNAL=eth1
iptables="/usr/sbin/iptables"
# Blocca il forward fino a quando non vengono stabilite tutte le regole.
echo '0' > /proc/sys/net/ipv4/ip_forward
# Carica i moduli necessari
modprobe ip_tables
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe iptable_nat
modprobe ipt_MASQUERADE
# Attiva il nat (routing)
iptables -t nat -A POSTROUTING -o $EXTERNAL -j MASQUERADE
iptables -I FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
# Forwarda tutti i pacchetti inerenti alla nostra rete locale
iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT
# Forwarda i pacchetti destinati alla porte 4661-4662 per il pc 192.168.0.253
# iptables -t nat -A PREROUTING -i $EXTERNAL -p tcp --dport 4661 -j DNAT --to-destination 192.168.0.1:4661
# iptables -t nat -A PREROUTING -i $EXTERNAL -p tcp --dport 4662 -j DNAT --to-destination 192.168.0.1:4662
# Gestione porte per VoIP
iptables -t nat -A PREROUTING -i $EXTERNAL -p tcp --dport 5060 -j DNAT --to-destination 192.168.0.220:5060
iptables -t nat -A PREROUTING -i $EXTERNAL -p tcp --dport 3478 -j DNAT --to-destination 192.168.0.220:3478
iptables -t nat -A PREROUTING -i $EXTERNAL -p tcp --dport 8000 -j DNAT --to-destination 192.168.0.220:8000
iptables -t nat -A PREROUTING -i $EXTERNAL -p tcp --dport 8001 -j DNAT --to-destination 192.168.0.220:8001
iptables -t nat -A PREROUTING -i $EXTERNAL -p tcp --dport 8002 -j DNAT --to-destination 192.168.0.220:8002
iptables -t nat -A PREROUTING -i $EXTERNAL -p tcp --dport 8003 -j DNAT --to-destination 192.168.0.220:8003
iptables -A FORWARD -i $EXTERNAL -p tcp --dport 5060 -j ACCEPT
iptables -A FORWARD -i $EXTERNAL -p tcp --dport 3478 -j ACCEPT
iptables -A FORWARD -i $EXTERNAL -p tcp --dport 8000 -j ACCEPT
iptables -A FORWARD -i $EXTERNAL -p tcp --dport 8001 -j ACCEPT
iptables -A FORWARD -i $EXTERNAL -p tcp --dport 8002 -j ACCEPT
iptables -A FORWARD -i $EXTERNAL -p tcp --dport 8003 -j ACCEPT
# -----------------------
# iptables -A FORWARD -i $EXTERNAL -p tcp --dport 4661 -j ACCEPT
# iptables -A FORWARD -i $EXTERNAL -p tcp --dport 4662 -j ACCEPT
# iptables -A FORWARD -j DROP
# Attiva il forward
echo '1' > /proc/sys/net/ipv4/ip_forward
# Policy di default delle catene
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
# Accetta tutti i pacchetti in input e output dalla rete
iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT
iptables -A OUTPUT -d 192.168.0.0/24 -j ACCEPT
# Accetto tutti i pacchetti che derivano da connessioni che io stesso ho iniziato
iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
# Accetto tutti i paccheti in ingresso per le connessioni che vengono generate dall'interno
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Apro la porta
# ssh
iptables -A INPUT -p tcp --dport ssh -j ACCEPT
# www
iptables -A INPUT -p tcp --dport www -j ACCEPT
# smtp
iptables -A INPUT -p tcp --dport smtp -j ACCEPT
# pop3
iptables -A INPUT -p tcp --dport pop3 -j ACCEPT
# amavis:10024/10025
iptables -A INPUT -p tcp --dport 10024 -j ACCEPT
iptables -A INPUT -p tcp --dport 10025 -j ACCEPT
# amule
iptables -A INPUT -p tcp --dport 4661 -j ACCEPT
iptables -A INPUT -p tcp --dport 4662 -j ACCEPT
iptables -A INPUT -p tcp --dport 4665 -j ACCEPT
iptables -A INPUT -p udp --dport 4672 -j ACCEPT
iptables -A INPUT -p udp --dport 4665 -j ACCEPT
# amuleweb
iptables -A INPUT -p tcp --dport 4711 -j ACCEPT
iptables -A INPUT -p tcp --dport 4712 -j ACCEPT
# fwlogwatch
iptables -A INPUT -p tcp --dport 8888 -j ACCEPT
# --------- Gestione porte per VoIP ----------
iptables -A INPUT -p tcp --dport 5060 -j ACCEPT
iptables -A INPUT -p tcp --dport 3478 -j ACCEPT
iptables -A INPUT -p tcp --dport 8000 -j ACCEPT
iptables -A INPUT -p tcp --dport 8001 -j ACCEPT
iptables -A INPUT -p tcp --dport 8002 -j ACCEPT
iptables -A INPUT -p tcp --dport 8003 -j ACCEPT
# ---------------------------------------------
# Loggo tutto quello che NON deriva da connessioni che io ho instaurato
# a livello 7 (debug) del syslog. Questo significa, per esempio in Debian, che i pacchetti
# bloccati verranno visualizzati in /var/log/syslog.
iptables -A INPUT -j LOG --log-level 7 --log-prefix "Blocked Packet: "
Cosa sto sbagliando secondo voi?
Grazie.
:help:
la porta WAN del Gateway VoIP ha il seguente indirizzo: 192.168.0.220
la porta LAN del Gateway VoIP ha il seguente indirizzo: 192.168.0.221
Il router/firewall linux ha 192.168.0.254 e il gateway impostato sull'adattatore VoIP è impostato con lo stesso valore.
Le porte che servono aperte sono: 3478, 5060, 8000, 8001, 8002, 8003.
Io ho aperto le porte sul firewall e attivato il forward verso il 192.168.0.220, però continua a non collegarsi e non riesco a capire cosa ho trascurato.
Questi sono gli script che inizializzano il NAT e il firewall:
#!/bin/bash
EXTERNAL=eth0
INTERNAL=eth1
iptables="/usr/sbin/iptables"
# Blocca il forward fino a quando non vengono stabilite tutte le regole.
echo '0' > /proc/sys/net/ipv4/ip_forward
# Carica i moduli necessari
modprobe ip_tables
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe iptable_nat
modprobe ipt_MASQUERADE
# Attiva il nat (routing)
iptables -t nat -A POSTROUTING -o $EXTERNAL -j MASQUERADE
iptables -I FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
# Forwarda tutti i pacchetti inerenti alla nostra rete locale
iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT
# Forwarda i pacchetti destinati alla porte 4661-4662 per il pc 192.168.0.253
# iptables -t nat -A PREROUTING -i $EXTERNAL -p tcp --dport 4661 -j DNAT --to-destination 192.168.0.1:4661
# iptables -t nat -A PREROUTING -i $EXTERNAL -p tcp --dport 4662 -j DNAT --to-destination 192.168.0.1:4662
# Gestione porte per VoIP
iptables -t nat -A PREROUTING -i $EXTERNAL -p tcp --dport 5060 -j DNAT --to-destination 192.168.0.220:5060
iptables -t nat -A PREROUTING -i $EXTERNAL -p tcp --dport 3478 -j DNAT --to-destination 192.168.0.220:3478
iptables -t nat -A PREROUTING -i $EXTERNAL -p tcp --dport 8000 -j DNAT --to-destination 192.168.0.220:8000
iptables -t nat -A PREROUTING -i $EXTERNAL -p tcp --dport 8001 -j DNAT --to-destination 192.168.0.220:8001
iptables -t nat -A PREROUTING -i $EXTERNAL -p tcp --dport 8002 -j DNAT --to-destination 192.168.0.220:8002
iptables -t nat -A PREROUTING -i $EXTERNAL -p tcp --dport 8003 -j DNAT --to-destination 192.168.0.220:8003
iptables -A FORWARD -i $EXTERNAL -p tcp --dport 5060 -j ACCEPT
iptables -A FORWARD -i $EXTERNAL -p tcp --dport 3478 -j ACCEPT
iptables -A FORWARD -i $EXTERNAL -p tcp --dport 8000 -j ACCEPT
iptables -A FORWARD -i $EXTERNAL -p tcp --dport 8001 -j ACCEPT
iptables -A FORWARD -i $EXTERNAL -p tcp --dport 8002 -j ACCEPT
iptables -A FORWARD -i $EXTERNAL -p tcp --dport 8003 -j ACCEPT
# -----------------------
# iptables -A FORWARD -i $EXTERNAL -p tcp --dport 4661 -j ACCEPT
# iptables -A FORWARD -i $EXTERNAL -p tcp --dport 4662 -j ACCEPT
# iptables -A FORWARD -j DROP
# Attiva il forward
echo '1' > /proc/sys/net/ipv4/ip_forward
# Policy di default delle catene
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
# Accetta tutti i pacchetti in input e output dalla rete
iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT
iptables -A OUTPUT -d 192.168.0.0/24 -j ACCEPT
# Accetto tutti i pacchetti che derivano da connessioni che io stesso ho iniziato
iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
# Accetto tutti i paccheti in ingresso per le connessioni che vengono generate dall'interno
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Apro la porta
# ssh
iptables -A INPUT -p tcp --dport ssh -j ACCEPT
# www
iptables -A INPUT -p tcp --dport www -j ACCEPT
# smtp
iptables -A INPUT -p tcp --dport smtp -j ACCEPT
# pop3
iptables -A INPUT -p tcp --dport pop3 -j ACCEPT
# amavis:10024/10025
iptables -A INPUT -p tcp --dport 10024 -j ACCEPT
iptables -A INPUT -p tcp --dport 10025 -j ACCEPT
# amule
iptables -A INPUT -p tcp --dport 4661 -j ACCEPT
iptables -A INPUT -p tcp --dport 4662 -j ACCEPT
iptables -A INPUT -p tcp --dport 4665 -j ACCEPT
iptables -A INPUT -p udp --dport 4672 -j ACCEPT
iptables -A INPUT -p udp --dport 4665 -j ACCEPT
# amuleweb
iptables -A INPUT -p tcp --dport 4711 -j ACCEPT
iptables -A INPUT -p tcp --dport 4712 -j ACCEPT
# fwlogwatch
iptables -A INPUT -p tcp --dport 8888 -j ACCEPT
# --------- Gestione porte per VoIP ----------
iptables -A INPUT -p tcp --dport 5060 -j ACCEPT
iptables -A INPUT -p tcp --dport 3478 -j ACCEPT
iptables -A INPUT -p tcp --dport 8000 -j ACCEPT
iptables -A INPUT -p tcp --dport 8001 -j ACCEPT
iptables -A INPUT -p tcp --dport 8002 -j ACCEPT
iptables -A INPUT -p tcp --dport 8003 -j ACCEPT
# ---------------------------------------------
# Loggo tutto quello che NON deriva da connessioni che io ho instaurato
# a livello 7 (debug) del syslog. Questo significa, per esempio in Debian, che i pacchetti
# bloccati verranno visualizzati in /var/log/syslog.
iptables -A INPUT -j LOG --log-level 7 --log-prefix "Blocked Packet: "
Cosa sto sbagliando secondo voi?
Grazie.
:help: