Projekat

Općenito

Profil

Akcije

Greške #13968

Zatvoren

router-wan-sa : otkazuje firewall skripta - internet http saobraćaj DNAT port forwarding x+1 bug

Dodano od Ernad Husremović prije oko 17 godina. Izmjenjeno prije skoro 15 godina.

Status:
Odbačeno
Prioritet:
Normalan
Odgovorna osoba:
Kategorija:
-
Početak:
14.04.2008
Završetak:
% završeno:

0%

Procjena vremena:

Opis

nakon izvjesnog vremena firewall (transparentni proxi na 192.168.45.250 : 3128 otkaže)


Fajlovi

iptables.txt (26,3 KB) iptables.txt iptables -L na router-u sada kada mi http na internet iz lan-a ne radi Ernad Husremović, 14.04.2008 10:16
iptables_t_nat.txt (6,6 KB) iptables_t_nat.txt iptables -L -t nat > iptables_t_nat.txt Ernad Husremović, 14.04.2008 11:54
iptables_t_nat_v.txt (9,1 KB) iptables_t_nat_v.txt Ernad Husremović, 14.04.2008 12:07
iptables_v.txt (35,2 KB) iptables_v.txt Ernad Husremović, 14.04.2008 12:07

Povezani tiketi 1 (0 otvoreno1 zatvoren)

korelira sa router - Greške #15081: router-wan-sa-1: workaround za problem openwrt masine.sigma-com.net 2200 ne radiZatvorenoJasmin Beganović12.08.2008

Akcije
Akcije #1

Izmjenjeno od Ernad Husremović prije oko 17 godina

Akcije #2

Izmjenjeno od Ernad Husremović prije oko 17 godina

ponovo pokrenuo firewall, ali ništa

pa onda izolovao dio koji bi trebao obezbjediti http saobraćaj

#!/bin/sh                                                                                                                                                                        

IPTABLES=iptables                                                                                                                                                                
PROXY_SERVER="192.168.45.250"                                                                                                                                                    
ROUTER_IP="192.168.45.254"                                                                                                                                                       

$IPTABLES -t nat -A PREROUTING -i br-lan -p tcp -m tcp -s ! $PROXY_SERVER -d ! $ROUTER_IP --dport 80 -j DNAT --to $PROXY_SERVER:3128                                             

$IPTABLES -t nat -A POSTROUTING  -o br-lan -d $PROXY_SERVER -j SNAT --to $ROUTER_IP                                                                                              

$IPTABLES -A FORWARD  -d  $PROXY_SERVER -i br-lan -o br-lan -p tcp --dport 3128 -j ACCEPT          

ali izgleda da ovaj prerouteing i postrouting ne radi ?!

Akcije #3

Izmjenjeno od Ernad Husremović prije oko 17 godina

  • Naslov promijenjeno iz router-wan-sa : otkazuje firewall skripta u router-wan-sa : otkazuje firewall skripta - internet http saobraćaj

root@router-wan-sa-1:/tmp# iptables -L PREROUTING
iptables: No chain/target/match by that name
root@router-wan-sa-1:/tmp# iptables -L POSTROUTING
iptables: No chain/target/match by that name

Akcije #4

Izmjenjeno od Ernad Husremović prije oko 17 godina

nakon restart-a pokupio iptables.txt stanje ali ono se uopšte ne razlikuje ?

sada kada http saobraćaj iz lan-a radi imam ovaj događaj (moja stanica je 192.168.45.45.153):

Apr 14 11:42:27 router-wan-sa-1 user.debug kernel: GP_LAN_OK IN=br-lan OUT=br-lan SRC=192.168.45.153 DST=192.168.45.250 LEN=60 TOS=0x00 PREC=0x00 TTL=63 ID=2788 DF PROTO=TCP SPT=59687 DPT=3128 WINDOW=5840 RES=0x00 SYN URGP=0 OPT (020405B40402080A003757FB0000000001030307)

Akcije #5

Izmjenjeno od Ernad Husremović prije oko 17 godina

gore sam pogrešno pozvao treba navesti -t nat koja nije defaultna tabela

root@router-wan-sa-1:~# iptables -t nat -L PREROUTING

Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         
DNAT       tcp  --  anywhere             SE400.PPPoE-4431.sa.bih.net.ba tcp dpt:7071 to:192.168.45.188 
DNAT       tcp  --  anywhere             SE400.PPPoE-4431.sa.bih.net.ba tcp dpt:5222 to:192.168.45.148 
DNAT       tcp  --  anywhere             SE400.PPPoE-4431.sa.bih.net.ba tcp dpt:993 to:192.168.45.188 
DNAT       tcp  --  anywhere             SE400.PPPoE-4431.sa.bih.net.ba tcp dpt:995 to:192.168.45.188 
DNAT       tcp  --  anywhere             SE400.PPPoE-4431.sa.bih.net.ba tcp dpt:465 to:192.168.45.188 
DNAT       tcp  --  anywhere             SE400.PPPoE-4431.sa.bih.net.ba tcp dpt:25 to:192.168.45.189 
DNAT       tcp  --  anywhere             SE400.PPPoE-4431.sa.bih.net.ba tcp multiport dports 80,443 to:192.168.45.184 
DNAT       tcp  --  anywhere             SE400.PPPoE-4431.sa.bih.net.ba tcp dpt:143 to:192.168.45.188 
DNAT       tcp  --  anywhere             SE400.PPPoE-4431.sa.bih.net.ba tcp dpt:110 to:192.168.45.188 
DNAT       tcp  -- !192.168.45.250      !192.168.45.254      tcp dpt:80 to:192.168.45.250:3128

Akcije #6

Izmjenjeno od Ernad Husremović prije oko 17 godina

man iptables:

-t, --table table
This option specifies the packet matching table which the com‐
mand should operate on. If the kernel is configured with auto‐
matic module loading, an attempt will be made to load the appro‐
priate module for that table if it is not already there.
The tables are as follows:
filter:
This is the default table (if no -t option is passed). It
contains the built-in chains INPUT (for packets destined to
local sockets), FORWARD (for packets being routed through
the box), and OUTPUT (for locally-generated packets).
nat:
This table is consulted when a packet that creates a new
connection is encountered. It consists of three built-ins:
PREROUTING (for altering packets as soon as they come in),
OUTPUT (for altering locally-generated packets before rout‐
ing), and POSTROUTING (for altering packets as they are
about to go out).
mangle:
This table is used for specialized packet alteration. Until
kernel 2.4.17 it had two built-in chains: PREROUTING (for
altering incoming packets before routing) and OUTPUT (for
altering locally-generated packets before routing). Since
kernel 2.4.18, three other built-in chains are also sup‐
ported: INPUT (for packets coming into the box itself), FOR‐
WARD (for altering packets being routed through the box),
and POSTROUTING (for altering packets as they are about to
go out).
raw:
This table is used mainly for configuring exemptions from
connection tracking in combination with the NOTRACK target.
It registers at the netfilter hooks with higher priority and
is thus called before ip_conntrack, or any other IP tables.
It provides the following built-in chains: PREROUTING (for
packets arriving via any network interface) OUTPUT (for
packets generated by local processes)
Akcije #7

Izmjenjeno od Ernad Husremović prije oko 17 godina

ostaje da pratim ponovo ovo čučnjavanje internet http saobraćaja

Izmjenjeno od Ernad Husremović prije oko 17 godina

"-v" opcija mi je potrebna radi pregleda interfejsa


root@router-wan-sa-1:~# iptables -t nat -L -v > /tmp/iptables_t_nat_v.txt
root@router-wan-sa-1:~# iptables -t filter -L -v > /tmp/iptables_v.txt  

Akcije #9

Izmjenjeno od Ernad Husremović prije oko 17 godina

e ovo je budaleština teška, iptables stanje je nedirnuto, međutim, proxiranje prolupa

kada prolupa dobijem ovo.

Apr 15 11:44:37 router-wan-sa-1 user.debug kernel: GP_LAN_OK IN=br-lan OUT=br-lan SRC=192.168.45.153 DST=192.168.45.250 LEN=60 TOS=0x00 PREC=0x00 TTL=63 ID=3176 DF PROTO=TCP SPT=44932 DPT=3129 WINDOW=5840 RES=0x00 SYN URGP=0 OPT (020405B40402080A002883050000000001030307)

odakle čovječe DPT=3128 kada je u tabelama 3128, provjerio jeste 3128

najblentavije od svega je to što ovako sam uspio dobiti ponovo proksiranje:
root@router-wan-sa-1:/tmp# iptables -t nat -D PREROUTING -i br-lan -p tcp -m tcp -s ! 192.168.45.250 -d ! 192.168.45.254 --dport 80 -j DNAT --to 192.168.45.250:3128
root@router-wan-sa-1:/tmp# iptables -t nat -A PREROUTING -i br-lan -p tcp -m tcp -s ! 192.168.45.250 -d ! 192.168.45.254 --dport 80 -j DNAT --to 192.168.45.250:3127

znači stavio sam 3127 (a on je proxirao na 3127+1 - to sam išao logikom 3128+1 koju on napravi kada prolupa) ... ajoj

kada sam pokšao:

root@router-wan-sa-1:/tmp# iptables --flush

router se zaglvaio i morao sam ga hardwerski resetovati.

kad je sve uredu
Apr 15 16:18:30 kernel: GP_LAN_OK IN=br-lan OUT=br-lan SRC=192.168.45.153 DST=192.168.45.250 LEN=60 TOS=0x00 PREC=0x00 TTL=63 ID=21962 DF PROTO=TCP SPT=50301 DPT=3128 WINDOW=5840 RES=0x00 SYN URGP=0 OPT (020405B40402080A006733F30000000001030307)

Akcije #10

Izmjenjeno od Ernad Husremović prije oko 17 godina

hah naletio sam na bug

http://forum.openwrt.org/viewtopic.php?id=12165

Whenever I use DNAT to forward to port X, the kernel actually forwards packets to port X+1. So I need to forward to port 21 in order to forward ssh, etc. Here is a basic example of the bug:

koji je još otvoren https://dev.openwrt.org/ticket/2558

Akcije #11

Izmjenjeno od Ernad Husremović prije oko 17 godina

  • Naslov promijenjeno iz router-wan-sa : otkazuje firewall skripta - internet http saobraćaj u router-wan-sa : otkazuje firewall skripta - internet http saobraćaj DNAT port forwarding x+1 bug
Akcije #12

Izmjenjeno od Ernad Husremović prije oko 17 godina

http://forum.openwrt.org/viewtopic.php?pid=63571

zadnji poster kaže:

switching to Kamikaze 7.09 with kernel 2.6 (instead of 2.4) fixes this issue for me (linksys wrt54).

Akcije #13

Izmjenjeno od Ernad Husremović prije oko 17 godina

hernad@nmraka-1:~/devel/hg/openwrt/openwrt/build_dir/linux-brcm47xx/iptables-1.3.8/extensions/libipt_DNAT.c

...
                dash = strchr(colon, '-');
                if (!dash) {
                        range.min.tcp.port
                                = range.max.tcp.port
                                = htons(port);
                } else {
...
Akcije #14

Izmjenjeno od Ernad Husremović prije oko 17 godina

na kraju parsiranja kaže


        return &(append_range(info, &range)->t);

a ovo je ta funkcija

static struct ipt_natinfo *
append_range(struct ipt_natinfo *info, const struct ip_nat_range *range)
{
        unsigned int size;

        /* One rangesize already in struct ipt_natinfo */
        size = IPT_ALIGN(sizeof(*info) + info->mr.rangesize * sizeof(*range));

        info = realloc(info, size);
        if (!info)
                exit_error(OTHER_PROBLEM, "Out of memory\n");

        info->t.u.target_size = size;
        info->mr.range[info->mr.rangesize] = *range;
        info->mr.rangesize++;

        return info;
}

Akcije #15

Izmjenjeno od Ernad Husremović prije oko 17 godina

ovdje naletih na squid podešenje transparent proxy-a po kome sam ja napravio podešenje, pa neka se nađe: http://www.ibiblio.org/pub/Linux/docs/HOWTO/TransparentProxy

Akcije #16

Izmjenjeno od Ernad Husremović prije oko 17 godina

  • Prioritet promijenjeno iz Odmah riješiti u Normalan

izbacio sam slanje http na squid do daljnjeg

Akcije #17

Izmjenjeno od Ernad Husremović prije skoro 15 godina

  • Status promijenjeno iz Dodijeljeno u Odbačeno
Akcije

Također dostupno kao Atom PDF