Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2013-01-04 10:34:35

  neomammut - Użytkownik

neomammut
Użytkownik
Zarejestrowany: 2012-10-13

Przekierowanie portów (Debian 6 + jajko 3.2.73.2)

Witam!
Od pewnego czasu mam problemy z przekierowaniem portów. Dokładnie chodzi o to, że: mam router o adresie 192.168.1.1 oraz serwer developerski o adresie 192.168.1.2 na którym uruchomiony jest redmine na porcie 3000. Na developerskim jest Windows 2008 R2 Server, a na routerze Debian 6.0 z jajkiem 3.2.73.2. Na firewall`u przekierowuje port 3000 na adres 192.168.1.2. Problem jest taki, że z zewnątrz mogę się dostać wpisując domena.pl:3000, ale już z wewnątrz sieci przeglądarka nie znajduje adresu. Podejrzewam, że coś jest nie halo w samym jądrze, ponieważ przy jajku 2.xx wszystko działało prawidłowo.

Pytanie jest takie, czy w samym jądrze należy uaktywnić jakiś moduł/moduły by zaczął działać prawidłowo DNAT?

Ostatnio edytowany przez neomammut (2013-01-04 10:35:34)

Offline

 

#2  2013-01-04 18:26:16

  bobycob - Członek z Ramienia

bobycob
Członek z Ramienia
Skąd: Wrocław
Zarejestrowany: 2007-08-15

Re: Przekierowanie portów (Debian 6 + jajko 3.2.73.2)

Rozumiem, że "z wewnątrz sieci" to też adres z zakresu 192.168.1.x.
Jeśli tak to router jest tu niewinny nawet nie dotyka tego pakietu przy standardowej konfiguracji.
Albo masz regułę natującą na porcie wan, a pakiet wchodzi do routera portem lan i z tego powodu nie może się na nią załapać.
Z sieci lokalnej musisz robić dodatkowo snat - nie tylko dnat. W przeciwnym przypadku windows odpowie bezpośrednio na 192.168.1.x pomiając router.

Ostatnio edytowany przez bobycob (2013-01-04 18:27:37)

Offline

 

#3  2013-01-05 19:08:44

  neomammut - Użytkownik

neomammut
Użytkownik
Zarejestrowany: 2012-10-13

Re: Przekierowanie portów (Debian 6 + jajko 3.2.73.2)

Niżej wklejam skrypt mojego firewall`a, może coś faktycznie tam jest nie tak?

Kod:

#!/bin/sh

IPTABLES=/sbin/iptables
test -x $IPTABLES || exit 1

case "$1" in

start)
        echo -n "Firewall starting up..."

    # Deny all traffic on all ports
        # Default is DROP
        $IPTABLES -P INPUT DROP
        $IPTABLES -P OUTPUT DROP
        $IPTABLES -P FORWARD DROP

        # Allow traffic - Rules

#################
# CONFIGURATION #
#################

F="/sbin/iptables"
#LOG="ipt#"


#global iface for external network
G_NET_NAME="eth0"
G_NET_IP="78.402.1.242"
#local iface for local network
L_NET_NAME="br0"
L_NET_IP="192.168.1.1"
L_NET="192.168.1.0/24"
L_BRDC="192.168.1.255"



#setup of modules and kernel konfig
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack_ftp
#/sbin/modprobe af_key
#/sbin/modprobe ah4
#/sbin/modprobe esp4
#/sbin/modprobe ipcomp
#/sbin/modprobe xfrm_user


echo "1" > /proc/sys/net/ipv4/ip_forward

#dynamic address allocation
#echo "1" > /proc/sys/net/ipv4/ip_dynaddr

#ignor ICMP echo request sended to broadcast
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

#SYN flood protection
echo "1" > /proc/sys/net/ipv4/tcp_syncookies

#refuse source routed packets
echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route

echo "1" > /proc/sys/net/ipv4/conf/all/secure_redirects

#source validation by reversed path (RFC1812).
echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter

#log packets from incorrect sources
echo "1" > /proc/sys/net/ipv4/conf/all/log_martians

##################
# INITIALIZATION #
##################

echo "Setup policy for standard chains..."
$F -P INPUT ACCEPT
$F -P FORWARD ACCEPT
$F -P OUTPUT ACCEPT
$F -t nat -P PREROUTING ACCEPT
$F -t nat -P OUTPUT ACCEPT
$F -t nat -P POSTROUTING ACCEPT
$F -t mangle -P PREROUTING ACCEPT
$F -t mangle -P OUTPUT ACCEPT
$F -t mangle -P INPUT ACCEPT
$F -t mangle -P FORWARD ACCEPT
$F -t mangle -P POSTROUTING ACCEPT

echo "Cleaning rules for standard chains..."
$F -F
$F -t nat -F
$F -t mangle -F

echo "Deleting all nonstandard chains..."
$F -X
$F -t nat -X
$F -t mangle -X

if [ "$1" = "stop" ]
then
    echo "Firewall IS OFF !!!"
    exit 0
fi

echo "Setting up policy for standard chains..."
$F -P INPUT DROP
$F -P OUTPUT DROP
$F -P FORWARD DROP

echo "Creating extra chains rules..."
$F -N bledne_pakiety
$F -N bledne_pakiety_tcp
$F -N pakiety_icmp
$F -N tcp_wchodzace
$F -N tcp_wychodzace
$F -N udp_wchodzace
$F -N udp_wychodzace

###############
# bad_packets #
###############
echo "Creating rules for chain bledne_pakiety..."

$F -A bledne_pakiety -p ALL -m state --state INVALID -j LOG --log-prefix "$LOG bledne_pakiety "
$F -A bledne_pakiety -p ALL -m state --state INVALID -j DROP
$F -A bledne_pakiety -p tcp -j bledne_pakiety_tcp
$F -A bledne_pakiety -p ALL -j RETURN

###################
# bad_tcp_packets #
###################
echo "Creating rules for chain bledne_pakiety_tcp..."
#dla gate
$F -A bledne_pakiety_tcp -p tcp -i $G_NET_NAME -j RETURN

$F -A bledne_pakiety_tcp -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "$LOG bledne_pakiety_tcp "
$F -A bledne_pakiety_tcp -p tcp ! --syn -m state --state NEW -j DROP

$F -A bledne_pakiety_tcp -p tcp --tcp-flags ALL NONE -j LOG --log-prefix "$LOG bledne_pakiety_tcp "
$F -A bledne_pakiety_tcp -p tcp --tcp-flags ALL NONE -j DROP

$F -A bledne_pakiety_tcp -p tcp --tcp-flags ALL ALL -j LOG --log-prefix "$LOG bledne_pakiety_tcp "
$F -A bledne_pakiety_tcp -p tcp --tcp-flags ALL ALL -j DROP

$F -A bledne_pakiety_tcp -p tcp --tcp-flags ALL FIN,URG,PSH -j LOG --log-prefix "$LOG bledne_pakiety_tcp "
$F -A bledne_pakiety_tcp -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP

$F -A bledne_pakiety_tcp -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j LOG --log-prefix "$LOG bledne_pakiety_tcp "
$F -A bledne_pakiety_tcp -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP

$F -A bledne_pakiety_tcp -p tcp --tcp-flags SYN,RST SYN,RST -j LOG --log-prefix "$LOG bledne_pakiety_tcp "
$F -A bledne_pakiety_tcp -p tcp --tcp-flags SYN,RST SYN,RST -j DROP

$F -A bledne_pakiety_tcp -p tcp --tcp-flags SYN,FIN SYN,FIN -j LOG --log-prefix "$LOG bledne_pakiety_tcp "
$F -A bledne_pakiety_tcp -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP

$F -A bledne_pakiety_tcp -p tcp -j RETURN

################
# icmp_packets #
################
echo "Creating rules for chain pakiety_icmp..."

#$F -A pakiety_icmp --fragment -p ICMP -j LOG --log-prefix "$LOG pakiety_icmp fragmenty "
#$F -A pakiety_icmp --fragment -p ICMP -j DROP

#ping and ping logging
# $F -A pakiety_icmp -p ICMP -s 0/0 --icmp-type 8 -j LOG --log-prefix "$LOG pakiety_icmp "
$F -A pakiety_icmp -p ICMP -s 0/0 --icmp-type 8 -j ACCEPT

#ping - hash out in case of enabling above rules
$F -A pakiety_icmp -p ICMP -s 0/0 --icmp-type 8 -j DROP
#Time Exceeded
$F -A pakiety_icmp -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT

$F -A pakiety_icmp -p ICMP -j RETURN

################
# tcp_incoming #
################
echo "Creating rules for chain tcp_wchodzace..."

#ident request
#reject not drop to avoid connections delay
$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port 113 -j REJECT
#FTP client (data port non-PASV)
$F -A tcp_wchodzace -p TCP -s 0/0 --source-port 20 -j ACCEPT
#FTP control
$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port 21 -j ACCEPT
#Passive FTP
$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port 2000:2010 -j ACCEPT
#ssh
$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port 22 -j ACCEPT
#HTTP
$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port 80 -j ACCEPT
#HTTPS
$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port 443 -j ACCEPT
#SMTP
$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port 25 -j ACCEPT
#POP3
#$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port 110 -j ACCEPT
#SSL POP3
#$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port 995 -j ACCEPT
#IMAP4
$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port 143 -j ACCEPT
#SSL IMAP4
$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port 993 -j ACCEPT
#ICQ File Transfers & Other Advanced Features
#$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port : -j ACCEPT
#MSN Messenger File Transfers
#$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port : -j ACCEPT
#NFS Server - portmapper
#$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port  -j ACCEPT
#NFS Server - statd
#$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port  -j ACCEPT
#NFS Server - NFS daemon
#$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port  -j ACCEPT
#NFS Server - lockd
#$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port  -j ACCEPT
#NFS Server - mountd
#$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port  -j ACCEPT
#NFS Server - quotad
#$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port  -j ACCEPT
#User specified allowed TCP protocol
#$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port  -j ACCEPT

#Zdalny pulpit
#$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port 3389 -j ACCEPT

#not matched: return and log
$F -A tcp_wchodzace -p TCP -j RETURN

################
# tcp_outgoing #
################
echo "Creating rules for chain tcp_wychodzace..."

#Blokowanie FTP Data
#$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port 20 -j REJECT
#Blokowanie FTP Control
#$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port 21 -j REJECT
#Blokowanie SSH
#$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port 22 -j REJECT
#Blokowanie Telnet
#$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port 23 -j REJECT
#Blokowanie HTTP
#$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port 80 -j REJECT
#Blokowanie HTTPS
#$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port 443 -j REJECT
#Blokowaie SMTP
#$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port 25 -j REJECT
#Blokowaie POP3
#$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port 110 -j REJECT
#Blokowaie POP3SSL
#$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port 995 -j REJECT
#Blokowaie IMAP4
#$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port 143 -j REJECT
#Blokowaie IMAP4SSL
#$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port 993 -j REJECT
#Blokowanie NEWS
#$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port 119 -j REJECT
#Blokowanie IRC
#$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port : -j REJECT
#Blokowaie AIM
#$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port 5190 -j REJECT
#Blokowaie AIM Images
#$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port 4443 -j REJECT
#Blokowaie MSN Messenger
#$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port 1863 -j REJECT
#Blokowany zakres portow
#$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port  -j REJECT
#blokowanie gg
#$F -A tcp_wychodzace -p TCP -s 0/0 -d 217.17.41.0/24 -j REJECT
#$F -A tcp_wychodzace -p TCP -s 0/0 -d 217.17.33.0/24 -j REJECT

#not matched ACCEPT
$F -A tcp_wychodzace -p TCP -s 0/0 -j ACCEPT

######################################
# Allow packets from private subnets #
######################################
echo "Allow packets from private subnets..."
iptables -A INPUT -i br0 -j ACCEPT
iptables -A FORWARD -i br0 -j ACCEPT

####################################################################
# Keep state of connections from local machine and private subnets #
####################################################################
echo "Keep state of connections from local machine and private subnets..."
iptables -A OUTPUT -m state --state NEW -o eth0 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state NEW -o eth0 -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

################
# udp_incoming #
################
echo "Creating rules for chain udp_wchodzace..."

#Drop netbios calls
$F -A udp_wchodzace -p UDP -s 0/0 --destination-port 137 -j DROP
$F -A udp_wchodzace -p UDP -s 0/0 --destination-port 138 -j DROP

#ident - reject zamiast drop w celu unikniecia opoznien w polaczeniach
$F -A udp_wchodzace -p UDP -s 0/0 --destination-port 113 -j REJECT

#NTP
$F -A udp_wchodzace -p UDP -s 0/0 --destination-port 123 -j ACCEPT
#DNS
$F -A udp_wchodzace -p UDP -s 0/0 --destination-port 53 -j ACCEPT
#zewnetrzny server DHCP
$F -A udp_wchodzace -p UDP -s 0/0 --source-port 68 --destination-port 67 -j ACCEPT
#NFS Server - portmapper
#$F -A udp_wchodzace -p UDP -s 0/0 --destination-port  -j ACCEPT
#NFS Server - statd
#$F -A udp_wchodzace -p UDP -s 0/0 --destination-port  -j ACCEPT
#NFS Server - NFS daemon
#$F -A udp_wchodzace -p UDP -s 0/0 --destination-port  -j ACCEPT
#NFS Server - lockd
#$F -A udp_wchodzace -p UDP -s 0/0 --destination-port  -j ACCEPT
#NFS Server - mountd
#$F -A udp_wchodzace -p UDP -s 0/0 --destination-port  -j ACCEPT
#NFS Server - quotad
#$F -A udp_wchodzace -p UDP -s 0/0 --destination-port  -j ACCEPT
#dopuszczalny zakres portow udp
#$F -A udp_wchodzace -p UDP -s 0/0 --destination-port  -j ACCEPT

#Ip-Sec
$F -A udp_wchodzace -p UDP -s 0/0 --destination-port 50 -j ACCEPT
$F -A udp_wchodzace -p UDP -s 0/0 --destination-port 51 -j ACCEPT
$F -A udp_wchodzace -p UDP -s 0/0 --destination-port 500 -j ACCEPT
$F -A udp_wchodzace -p UDP -s 0/0 --destination-port 501 -j ACCEPT
$F -A udp_wchodzace -p UDP -s 0/0 --destination-port 4500 -j ACCEPT
$F -A INPUT -p esp -j ACCEPT
$F -A INPUT -p ah -j ACCEPT
$F -A INPUT -p ipcomp -j ACCEPT


#not matched - return and log
$F -A udp_wchodzace -p UDP -j RETURN

################
# udp_outgoing #
################
echo "Creating rules for chain udp_wychodzace..."

#Blokowany zakres portow
#$F -A udp_wychodzace -p UDP -s 0/0 --destination-port  -j REJECT
#blokowanie gg
#$F -A udp_wychodzace -p UDP -s 0/0 -d 217.17.41.0/24 -j REJECT
#$F -A udp_wychodzace -p UDP -s 0/0 -d 217.17.33.0/24 -j REJECT

#not matched ACCEPT
$F -A udp_wychodzace -p UDP -s 0/0 -j ACCEPT

###################
#    Tune/TAP     #
###################
echo "Allow from Tune/TAP devices..."
$F -A INPUT -p udp --dport 1194 -j ACCEPT
$F -A INPUT -i tap0 -j ACCEPT
$F -A INPUT -i br0 -j ACCEPT
$F -A FORWARD -i br0 -j ACCEPT
$F -A INPUT -p tcp --dport 3052 -j ACCEPT

#########
# INPUT #
#########

echo "Creating rules for chain INPUT..."

$F -A INPUT -p ALL -i lo -j ACCEPT
$F -A INPUT -p ALL -j bledne_pakiety

#DOCSIS compliant cable modems
#Drop without logging.
$F -A INPUT -p ALL -d 224.0.0.1 -j DROP

#zezwolenie dla sieci lokalnej - dla gate
$F -A INPUT -p ALL -i $L_NET_NAME -s $L_NET -j ACCEPT
$F -A INPUT -p ALL -i $L_NET_NAME -d $L_BRDC -j ACCEPT

#DHCP - dla gate
$F -A INPUT -p UDP -i $L_NET_NAME --source-port 68 --destination-port 67 -j ACCEPT

#Ustanowione polaczenia
$F -A INPUT -p ALL -i $G_NET_NAME -m state --state ESTABLISHED,RELATED -j ACCEPT

#reszta do odpowiednich lancuchow
$F -A INPUT -p ICMP -i $G_NET_NAME -j pakiety_icmp
$F -A INPUT -p TCP -i $G_NET_NAME -j tcp_wchodzace
$F -A INPUT -p UDP -i $G_NET_NAME -j udp_wchodzace

#zatrzymanie rozgloszen
$F -A INPUT -p ALL -d 255.255.255.255 -j DROP

#nie pasujace - logowanie
#$F -A INPUT -j LOG --log-prefix "$LOG INPUT:99 "

###########
# FORWARD #
###########
#dla gate caly
echo "Creating rules for chain FORWARD..."

$F -A FORWARD -p ALL -j bledne_pakiety
$F -A FORWARD -p tcp -i $L_NET_NAME -j tcp_wychodzace
$F -A FORWARD -p udp -i $L_NET_NAME -j udp_wychodzace
$F -A FORWARD -p ALL -i $L_NET_NAME -j ACCEPT

$F -A FORWARD -i $G_NET_NAME -m state --state ESTABLISHED,RELATED -j ACCEPT

# Port Forwarding is enabled, so accept forwarded traffic
$F -A FORWARD -p udp -i $G_NET_NAME --destination-port 3000 --destination 192.168.1.2 -j ACCEPT

$F -A FORWARD -p tcp -i $G_NET_NAME --destination-port 3000 --destination 192.168.1.2 -j ACCEPT

#nie pasujace - loguj
#$F -A FORWARD -j LOG --log-prefix "$LOG FORWARD:99 "

##########
# OUTPUT #
##########

echo "Creating rules for chain OUTPUT..."

$F -A OUTPUT -m state -p icmp --state INVALID -j DROP
$F -A OUTPUT -p ALL -s 127.0.0.1 -j ACCEPT
$F -A OUTPUT -p ALL -o lo -j ACCEPT

#dla gate
$F -A OUTPUT -p ALL -s $L_NET_IP -j ACCEPT
$F -A OUTPUT -p ALL -o $L_NET_NAME -j ACCEPT

$F -A OUTPUT -p ALL -o $G_NET_NAME -j ACCEPT

#nie pasujace - loguj
$F -A OUTPUT -j LOG --log-prefix "$LOG OUTPUT:99 "


#############
# nat table #
#############
echo "Creating rules for NAT table..."
#w nat wszystkie reguly dla gate

##############
# PREROUTING #
##############
echo "    lancuch PREROUTING"
#Port Forwarding
$F -t nat -A PREROUTING -p udp -i $G_NET_NAME --destination-port 3000:3000 -j DNAT --to-destination 192.168.1.2:3000

$F -t nat -A PREROUTING -p tcp -i $G_NET_NAME --destination-port 3000:3000 -j DNAT --to-destination 192.168.1.2:3000



#przy static IP
#$F -t nat -A PREROUTING -p udp -i $L_NET_NAME --destination-port 3000:3000 --destination $G_NET_IP -j DNAT --to-destination 192.168.1.2:3000

#przy static IP
$F -t nat -A PREROUTING -p tcp -i $L_NET_NAME --destination-port 3000:3000 --destination $G_NET_IP -j DNAT --to-destination 192.168.1.2:3000


###############
# POSTROUTING #
###############
echo "    lancuch POSTROUTING"
$F -t nat -A POSTROUTING -o $G_NET_NAME -j SNAT --to-source $G_NET_IP
$F -t nat -A POSTROUTING -o $L_NET_NAME -j SNAT --to-source $G_NET_IP

################
# mangle table #
################
echo "Creating rules for mangle table..."

$F -t mangle -A OUTPUT -o $G_NET_NAME -j TTL --ttl-set 128

        
        # Enable forwarding
        echo "1" > /proc/sys/net/ipv4/ip_forward


        echo "Firewall enabled succesfull"

;;

stop)
        echo -n "Firewall is shutting down..."


    # Allow all traffic on all ports
        # Default is ACCEPT
        $IPTABLES -P INPUT ACCEPT
        $IPTABLES -P OUTPUT ACCEPT
        $IPTABLES -P FORWARD ACCEPT

        # Clear chains
        $IPTABLES -F

        # Disable forwarding
        echo "0" > /proc/sys/net/ipv4/ip_forward

        echo "Firewall disables succesfull"
;;

restart)
        $0 stop
        $0 start
;;

*)
        echo "Use: $0 {start|stop|restart }"
esac

Offline

 

#4  2013-01-07 08:37:49

  bobycob - Członek z Ramienia

bobycob
Członek z Ramienia
Skąd: Wrocław
Zarejestrowany: 2007-08-15

Re: Przekierowanie portów (Debian 6 + jajko 3.2.73.2)

Jedyna rzecz która ukłuła mnie w oko to:

-A tcp_wychodzace -p TCP -s 0/0 --destination-port : -j REJECT

Przyznam nie chce mi się tego wszystkiego czytać - wyczyść troszkę kod może ktoś rzuci okiem po wywaleniu dziesiątek zakomentowanych reguł.
Sugeruję zacząć od prostych dwóch reguł które pozwolą sprawdzić poprawność działania.

Kod:

iptables -t nat -A POSTROUTING -s 192.168.1.x -d 192.168.1.2 -j SNAT --to 192.168.1.1 
iptables -t nat -A PREROUTING -s 192.168.1.x -p tcp -dport 3000 -j DNAT --to 192.168.1.2:3000
iptables -t nat -A PREROUTING -s 192.168.1.x -p udp -dport 3000 -j DNAT --to 192.168.1.2:3000

Offline

 

#5  2013-01-07 10:37:32

  neomammut - Użytkownik

neomammut
Użytkownik
Zarejestrowany: 2012-10-13

Re: Przekierowanie portów (Debian 6 + jajko 3.2.73.2)

Samo przekierowanie działa, ponieważ można się dostać z sieci zewnętrznej - czyli z domu mogę wejść wpisując domena.pl:3000. Jeśli ten sam adres wpiszę będąc w sieci wewnętrznej, to przeglądarka tego adresu nie znajduje, choć gdy wpiszę domena.pl to bez oporu pokazuje się strona główna mojej firmy. Zresztą, wpisz sobie rzeczywisty adres: trtech.pl:3000 i ukaże Ci się redmine. Co do firewall`a to go trochę uporządkowałem, nie zdawałem sobie sprawy, że jest tam taki nieporządek.

Ostatnio edytowany przez neomammut (2013-01-07 10:37:48)

Offline

 

#6  2013-01-07 12:59:11

  neomammut - Użytkownik

neomammut
Użytkownik
Zarejestrowany: 2012-10-13

Re: Przekierowanie portów (Debian 6 + jajko 3.2.73.2)

Mam coś takiego po wydaniu komendy route -n:

Kod:

root@fox:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         78.402.1.241   0.0.0.0         UG    0      0        0 eth0
10.255.248.0    78.402.1.242   255.255.248.0   UG    0      0        0 eth0
78.402.1.240   0.0.0.0         255.255.255.248 U     0      0        0 eth0
192.168.1.0   0.0.0.0         255.255.255.0   U     0      0        0 br0

A po wydaniu komendy ip route coś takiego:

Kod:

root@fox:~# ip route
default via 78.402.1.241 dev eth0
10.255.248.0/21 via 87.204.10.242 dev eth0  src 192.168.254.1
78.402.1.240/29 dev eth0  proto kernel  scope link  src 78.402.1.242
192.168.1.0/24 dev br0  proto kernel  scope link  src 192.168.1.1

Chyba brakuje mi trasy pomiędzy 78.402.1.242 a 192.168.1.1???

Ostatnio edytowany przez neomammut (2013-01-07 12:59:53)

Offline

 

#7  2013-01-08 08:47:51

  bobycob - Członek z Ramienia

bobycob
Członek z Ramienia
Skąd: Wrocław
Zarejestrowany: 2007-08-15

Re: Przekierowanie portów (Debian 6 + jajko 3.2.73.2)

ta tablica jest poprawna
to co wpisałem wcześniej powinno działać poprawnie z sieci lokalnej, natomiast nie bierze pod uwagę zewnętrznej

Ostatnio edytowany przez bobycob (2013-01-08 08:49:27)

Offline

 

#8  2013-01-08 16:56:35

  neomammut - Użytkownik

neomammut
Użytkownik
Zarejestrowany: 2012-10-13

Re: Przekierowanie portów (Debian 6 + jajko 3.2.73.2)

Witam, to co napisałeś niestety nie działa, wyskakują jakieś błędy, dzisiaj spróbuję powrócić do starego jądra 2.6.17 chyba, bo z tym jądrem pamiętam, że działało....

Offline

 

#9  2013-01-08 20:30:01

  bobycob - Członek z Ramienia

bobycob
Członek z Ramienia
Skąd: Wrocław
Zarejestrowany: 2007-08-15

Re: Przekierowanie portów (Debian 6 + jajko 3.2.73.2)

A jakie konkretnie błędy, wklej je.

Offline

 

#10  2013-01-09 11:56:49

  neomammut - Użytkownik

neomammut
Użytkownik
Zarejestrowany: 2012-10-13

Re: Przekierowanie portów (Debian 6 + jajko 3.2.73.2)

Witam, wystartowałem debiana ze starym jądrem i przekierowania znowu działają jak powinny. Ciekaw jestem co jest nie tak z jądrem 3.2.x.....

Co od błędów: spróbuj użyć opcji iptables -h....

Ostatnio edytowany przez neomammut (2013-01-09 11:57:28)

Offline

 

#11  2013-01-09 13:35:38

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Przekierowanie portów (Debian 6 + jajko 3.2.73.2)

Tak to jest, jak się używa cudzych skryptów, nie wiedząc, co w nich jest:
Pokaż na nowym jaju:

Kod:

skrypt.sh 1>/dev/null

Wyświetli komunikaty błędów, będziesz mógł je potem łatwo zlokalizować w wyniku późniejszego debugowania skryptu, wiedząc, czego szukasz.

Potem wlej pod samym

Kod:

 #!/bin/sh

Kod:

set -x

Potem odpal skrypta, wyświetli CI wszystkie wykonane reguły, i przejrzyj wynik, czy jakichś błędów lub ostrzeżeń nie ma.

Ja zakładam, ze to powód zmiany modułu state na moduł conntrack, może przy nowym jaju trzeba to poprawić.
Ale skryptu, który ma pół metra długości, i nie wiadomo  kto, kiedy i do czego  go rzeźbił, studiować nie zamierzam.

Pozdrawiam
;-)

Ostatnio edytowany przez Jacekalex (2013-01-09 13:43:57)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)