Portál AbcLinuxu, 10. května 2025 09:50

Dotaz: RHEL 5.2 nefunkční NAT

18.11.2008 07:37 majales | skóre: 29 | blog: Majales
RHEL 5.2 nefunkční NAT
Přečteno: 336×
Odpovědět | Admin
Zdravím. Snažím se rozjet NAT na RHEL 5.2. Mám funkční IPtables skript který spolehlivě funguje na Debian Etch a Sarge, ovšem na RHEL ani ťuk. Nevíte kde by mohla být chyba?

Ve skriptu zapínám ip forwarding takto:
echo "1" > /proc/sys/net/ipv4/ip_forward
a pak zapínám SNAT takto:
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to "IP eth0"
Zkoušel jsem i modifikaci s MASQURADE, ale bez výsledku. Díky za každý tip.

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

18.11.2008 08:25 hysterix
Rozbalit Rozbalit vše Re: RHEL 5.2 nefunkční NAT
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ja vim uplne presne, kde je chyba. Chyba je mezi zidli a klavesnici. HTH
18.11.2008 09:38 majales | skóre: 29 | blog: Majales
Rozbalit Rozbalit vše Re: RHEL 5.2 nefunkční NAT
Děkuji za nekonstruktivní připomínku. Přivítal bych spíše nějakou konstruktivní...
18.11.2008 10:22 hysterix
Rozbalit Rozbalit vše Re: RHEL 5.2 nefunkční NAT
Jsem si naprosto jist, ze jsem odpovedel presne v duchu puvodni otazky. Na konstruktivni pripominku neni v puvodni otazce zadna chybova hlaska, vypis nastaveni iptables po probehnuti skriptu, zda se dopinga na gateway, ba ani popis, co vsechno tazatel zkusil apod.
michich avatar 18.11.2008 10:21 michich | skóre: 51 | blog: ohrivane_parky
Rozbalit Rozbalit vše Re: RHEL 5.2 nefunkční NAT
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ukaž routovací tabulku (ip route) a obsah iptables (iptables -L -vn; iptables -t nat -L -vn). A taky vysvětli, co znamená "ani ťuk" (čili jak to testuješ).
18.11.2008 11:25 majales | skóre: 29 | blog: Majales
Rozbalit Rozbalit vše Re: RHEL 5.2 nefunkční NAT
Uznávám že jsem nepodal moc informací.
root@router sysconfig]# /sbin/iptables -L -vn
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
   73  5340 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:22
    0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:80
    0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:412
    0     0 ACCEPT     icmp --  eth0   *       0.0.0.0/0            0.0.0.0/0           icmp type 8
    0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
   27  2471 ACCEPT     all  --  eth1   *       0.0.0.0/0            10.0.0.0/24
    0     0 ACCEPT     all  --  eth1   *       0.0.0.0/0            192.168.84.1
    0     0 ACCEPT     all  --  eth1   *       0.0.0.0/0            10.0.0.0/24
    0     0 ACCEPT     udp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           udp dpt:67
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            192.168.84.1        state RELATED,ESTABLISHED
    0     0 LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0           limit: avg 12/hour burst 5 LOG flags 0 level 4 prefix `INPUT drop: '

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     tcp  --  eth0   eth1    0.0.0.0/0            10.0.0.6            tcp dpt:80
    4   240 ACCEPT     all  --  eth1   *       0.0.0.0/0            0.0.0.0/0
    4   240 ACCEPT     all  --  eth0   eth1    0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
    0     0 LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0           limit: avg 12/hour burst 5 LOG flags 0 level 4 prefix `forward drop: '

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     all  --  *      *       127.0.0.1            0.0.0.0/0
   33  2320 ACCEPT     all  --  *      *       10.0.0.0/24          0.0.0.0/0
   57  8440 ACCEPT     all  --  *      *       192.168.84.1         0.0.0.0/0
    0     0 ACCEPT     udp  --  *      eth1    0.0.0.0/0            0.0.0.0/0           udp spt:67 dpt:68
    0     0 LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0           LOG flags 0 level 4 prefix `OUTPUT drop: '

Chain IN_FW (0 references)
 pkts bytes target     prot opt in     out     source               destination

Chain logdrop (0 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0           limit: avg 5/hour burst 3 LOG flags 0 level 4 prefix `Rezervovana adresa: '
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0
[root@router sysconfig]#

[root@router sysconfig]# /sbin/iptables -t nat -L -vn
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DNAT       tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:80 to:10.0.0.6:80

Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 MASQUERADE  all  --  *      eth0    0.0.0.0/0            0.0.0.0/0

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

 [root@router sysconfig]# /sbin/ip route
10.0.0.0/24 dev eth1  proto kernel  scope link  src 10.0.0.1
192.168.84.0/24 dev eth0  proto kernel  scope link  src 192.168.84.1
192.168.122.0/24 dev virbr0  proto kernel  scope link  src 192.168.122.1
169.254.0.0/16 dev eth1  scope link
default via 192.168.84.3 dev eth0
Lze z těchto informací něco poznat? Já mám dojem že nefunguje ip forwarding...
18.11.2008 10:44 hatack
Rozbalit Rozbalit vše Re: RHEL 5.2 nefunkční NAT
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ja tam obvykle davam --to-source, --to davam u DNATu.
Heron avatar 18.11.2008 11:24 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: RHEL 5.2 nefunkční NAT
Odpovědět | | Sbalit | Link | Blokovat | Admin

Pravidlo má vypadat nějak takto:

iptables -t nat -A POSTROUTING -s $LAN_IP -j SNAT --to-source $INTERNET_IP

+ příslušná pravidla v FORWARD řetězci v tabulce FILTER, třeba něco takového:

iptables -A FORWARD -i $INET_IFACE -o $LAN_IFACE -m state --state ESTABLISHED,RELATED -j ACCEPT

RHEL má nějaký defaultní FW, předpokládám, že jste jej vypnul (service iptables stop). Když tam sem dejte výpis iptables -L -n -t filter a též -t nat

Heron
18.11.2008 11:29 majales | skóre: 29 | blog: Majales
Rozbalit Rozbalit vše Re: RHEL 5.2 nefunkční NAT
Zkoušel jsem varinatu se SNAT jsem taky zkoušel, je totiž v tom původním skriptu. Bohužel si myslím že pes je zakopán někde jinde..
18.11.2008 11:54 majales | skóre: 29 | blog: Majales
Rozbalit Rozbalit vše Re: RHEL 5.2 nefunkční NAT
Tak varianta se SNAT taky nechodí, teď jsem to vyzkoušel...
18.11.2008 11:59 hysterix
Rozbalit Rozbalit vše Re: RHEL 5.2 nefunkční NAT
Tak zkusim
cat /proc/sys/net/ipv4/ip_forward
jestli je tam opravdu 1. Pokud ano, tak zkusim docasne smazat vsechny tabulky krome nat iptables
iptables -t mangle -F iptables -F
a zkontrolovat, ze v tabulce nat zustalo jen to, co chci
iptables -t nat -nvL
18.11.2008 12:01 hysterix
Rozbalit Rozbalit vše Re: RHEL 5.2 nefunkční NAT
V mazani vsech tabulek krome nat se mi to mou chybou slilo do jedne radky - ma to byt takto:
iptables -t mangle -F
iptables -F
18.11.2008 11:59 majales | skóre: 29 | blog: Majales
Rozbalit Rozbalit vše Re: RHEL 5.2 nefunkční NAT
tady posílám výpis s tím SNATem:
[root@router sysconfig]# /sbin/iptables -L -n -t filter
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:22
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:412
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           icmp type 8
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     all  --  0.0.0.0/0            10.0.0.0/24
ACCEPT     all  --  0.0.0.0/0            192.168.84.1
ACCEPT     all  --  0.0.0.0/0            10.0.0.0/24
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:67
ACCEPT     all  --  0.0.0.0/0            192.168.84.1        state RELATED,ESTABLISHED
LOG        all  --  0.0.0.0/0            0.0.0.0/0           limit: avg 12/hour burst 5 LOG flags 0 level 4 prefix `INPUT drop: '

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  0.0.0.0/0            10.0.0.6            tcp dpt:80
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
LOG        all  --  0.0.0.0/0            0.0.0.0/0           limit: avg 12/hour burst 5 LOG flags 0 level 4 prefix `forward drop: '

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  127.0.0.1            0.0.0.0/0
ACCEPT     all  --  10.0.0.0/24          0.0.0.0/0
ACCEPT     all  --  192.168.84.1         0.0.0.0/0
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp spt:67 dpt:68
LOG        all  --  0.0.0.0/0            0.0.0.0/0           LOG flags 0 level 4 prefix `OUTPUT drop: '

Chain IN_FW (0 references)
target     prot opt source               destination

Chain logdrop (0 references)
target     prot opt source               destination
LOG        all  --  0.0.0.0/0            0.0.0.0/0           limit: avg 5/hour burst 3 LOG flags 0 level 4 prefix `Rezervovana adresa: '
DROP       all  --  0.0.0.0/0            0.0.0.0/0

[root@router sysconfig]# /sbin/iptables -L -n -t nat
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
DNAT       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80 to:10.0.0.6:80

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
SNAT       all  --  10.0.0.0/24          0.0.0.0/0           to:192.168.84.1

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
18.11.2008 13:48 Petr
Rozbalit Rozbalit vše Re: RHEL 5.2 nefunkční NAT
Odpovědět | | Sbalit | Link | Blokovat | Admin
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.100.0/24 -d 0/0 -J MASQUERADE
18.11.2008 14:42 baloo
Rozbalit Rozbalit vše Re: RHEL 5.2 nefunkční NAT
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jenom mimochodem mas vyplej selinux ?
michich avatar 19.11.2008 09:10 michich | skóre: 51 | blog: ohrivane_parky
Rozbalit Rozbalit vše Re: RHEL 5.2 nefunkční NAT
To rozhodně nemá být potřeba.
18.11.2008 14:55 linuxik | skóre: 32 | Milovice
Rozbalit Rozbalit vše Re: RHEL 5.2 nefunkční NAT
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ahoj,

smazni vsechna pravidla, 'iptables -F' a 'iptables -t nat -F', zapni forward 'echo 1 > /proc/sys/net/ipv4/ip_forward' a pridej pouze pouze SNAT a uvidis.

19.11.2008 10:48 majales | skóre: 29 | blog: Majales
Rozbalit Rozbalit vše Re: RHEL 5.2 nefunkční NAT
Odpovědět | | Sbalit | Link | Blokovat | Admin
Dobrý den,
Omlouvám se všem kterí vážili času na přečtení si mojí úpěnlivé prosby a na vytvoření komentáře/ů. Chyba byla způsobena něčím jiným mimo RHEL. Šlo o pravidlo na switchi, které zahazovalo všechny packety mimo nastavený síťový rozsah. Ověřil jsem že když se připojím notebookem pomocí kříženého kabelu přímo do vnitřního rozhraní toho stroje s RHEL tak NAT funguje jako z praku, a z toho jsem usoudil že za to může ten switch. Dnes ráno bylo pravidlo poopraveno a vše běhá tak jak má...
19.11.2008 11:50 Dušan Hokův | skóre: 43 | blog: Fedora a další...
Rozbalit Rozbalit vše Re: RHEL 5.2 nefunkční NAT
Mno priste by bylo dobry pustit si na eth0 tcpdump, kde by jasne bylo videt, ze se adresy spravne zanatovavaji a ze problem je tedy jinde...

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.