Portál AbcLinuxu, 1. června 2025 02:57


Dotaz: Routrování

22.12.2005 07:15 Warlord
Routrování
Přečteno: 309×
Odpovědět | Admin
Dobrý den, snad již klasicky uvádím, že jsem začátečník. Mam doma 2 počítače. Na počítači prvním je SUSE 10.0 a na druhém WindowsXP. Počítač s Linuxem má 2 sítové karty a to eth0 pro internet a eth2 pro počítač s Windows. Chtěl bych dostat internet i na počítač s Windows ale nevím jak na to. Hledal jsem o tom články ale nic nevedlo k úspěchu. Známý co s linuxem pracuje znatelně déle mi poslal script, který by měl vyřešit moji situaci ale nepomohl. Všechny technické informace uvádím níže:

Script od známého je následující. Spustil jsem ho jako root a proběhl v pořádku:
#!/bin/bash
IPTABLES='/sbin/iptables'
# Set interface values
EXTIF=eth0
INTIF=eth2

# enable ip forwarding in the kernel
/bin/echo 1 > /proc/sys/net/ipv4/ip_forward
# flush rules and delete chains
$IPTABLES -F
$IPTABLES -X
# enable masquerading to allow LAN internet access
$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
# forward LAN traffic from $INTIF1 to Internet interface $EXTIF
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -m state --state NEW,ESTABLISHED -j ACCEPT
# forward LAN traffic from $INTIF2 to Internet interface $EXTIF
# $IPTABLES -A FORWARD -i $INTIF2 -o $EXTIF -m state --state NEW,ESTABLISHED -j ACCEPT
#echo -e "       - Allowing access to the SSH server"
$IPTABLES -A INPUT --protocol tcp --dport 22 -j ACCEPT
#echo -e "       - Allowing access to the HTTP server"
$IPTABLES -A INPUT --protocol tcp --dport 80 -j ACCEPT
$IPTABLES -A INPUT --protocol tcp --dport 21 -j ACCEPT
$IPTABLES -A INPUT --protocol tcp --dport 8080 -j ACCEPT
# block out all other Internet access on $EXTIF
$IPTABLES -A INPUT -i $EXTIF -m state --state NEW,INVALID -j DROP
$IPTABLES -A FORWARD -i $EXTIF -m state --state NEW,INVALID -j DROP
Tady uvádím nastavení sítových karet:
eth0:
IP: 10.4.160.130
BRÁNA: 10.4.160.129
MASKA: 255.255.255.252
DNS: 10.0.0.1

eth2:
IP: 172.16.45.1
BRÁNA: 10.4.160.129
MASKA: 255.255.0.0
DNS: 10.0.0.1

Počítač s windows:
IP: 172.16.45.2
BRÁNA: 172.16.45.1
MASKA: 255.255.0.0
DNS: 10.0.0.1
V Linuxu jsem klikoidně zapnul "forwarding" který by snad měl umožnit předávání paketů.

Výsledek je takový, že z počítače s Windows pingnu samozřejmě eth2 a pingnu i eth0. Na DNS se ale už nedostanu. Zkoušel jsem i vypínat firewall ale nepomohlo. Poradte mi prosím nebo mě moje ženská (počítač s windows) snad umlátí :o))
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

22.12.2005 08:27 Martin
Rozbalit Rozbalit vše Re: Routrování
Odpovědět | | Sbalit | Link | Blokovat | Admin
ta brana u eth2 je ok? ja nevim,a le mam pocit, ze by tam nemela byt zadna brana :/ Pokud rikam blbost, tak me omluvte..
22.12.2005 08:30 Petr Jelínek | skóre: 17 | blog: Vyprovokovanej | Praha
Rozbalit Rozbalit vše Re: Routrování
Odpovědět | | Sbalit | Link | Blokovat | Admin
Hoď sem výstup příkazu /sbin/route a použij tag <pre>

Jinak routování zapnul už ten skript příkazem /bin/echo 1 > /proc/sys/net/ipv4/ip_forward.
Nemám rád NVidii!
22.12.2005 15:48 Warlord
Rozbalit Rozbalit vše Re: Routrování
Tady je ten výpis route:
Směrovací tabulka v jádru pro IP
Adresát         Brána           Maska           Přízn Metrik Odkaz  Užt Rozhraní
10.4.160.128    *               255.255.255.252 U     0      0        0 eth0
172.16.0.0      *               255.255.0.0     U     0      0        0 eth2
link-local      *               255.255.0.0     U     0      0        0 eth0
loopback        *               255.0.0.0       U     0      0        0 lo
default         10.4.160.129    0.0.0.0         UG    0      0        0 eth0
22.12.2005 08:40 jirka
Rozbalit Rozbalit vše Re: Routrování
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jo myslím si, že brána u eth2 nemusí být. A forward bych upravil takhle:
# forward LAN traffic from $INTIF1 to Internet interface $EXTIF
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -m state --state NEW -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
22.12.2005 08:45 jirka
Rozbalit Rozbalit vše Re: Routrování
A ještě to samé chybí u INPUT:
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
A OUTPUT je asi povolený, že?
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD DROP
David Boháč avatar 22.12.2005 15:58 David Boháč | skóre: 4
Rozbalit Rozbalit vše Re: Routrování
Napsal jsem tam co jsi radil. V pohodě se to vykonalo bez chyby ale stále nic. Výpis z route je tady:
Směrovací tabulka v jádru pro IP
Adresát         Brána           Maska           Přízn Metrik Odkaz  Užt Rozhraní
10.4.160.128    *               255.255.255.252 U     0      0        0 eth0
172.16.0.0      *               255.255.0.0     U     0      0        0 eth2
link-local      *               255.255.0.0     U     0      0        0 eth0
loopback        *               255.0.0.0       U     0      0        0 lo
default         10.4.160.129    0.0.0.0         UG    0      0        0 eth0
22.12.2005 16:23 jirka
Rozbalit Rozbalit vše Re: Routrování
To DNS 10.0.0.1 se mi moc nezdá, co je to za poskytovatele?

Jinak by tam mělo být asi přidaný routování pro tuto IP, což v routovací tabulce není.
22.12.2005 16:28 jirka
Rozbalit Rozbalit vše Re: Routrování
Síť 10.0.0.1/32 by neměla být přístupná, takže by se jí mělo pomoct, snad tahle:
ip route add 10.0.0.0/24 via 10.4.160.129
22.12.2005 16:33 Warlord
Rozbalit Rozbalit vše Re: Routrování
Poskytovatel je Starnet. Takže co mam přesně dělat? :o)
22.12.2005 16:39 Warlord
Rozbalit Rozbalit vše Re: Routrování
Provedl jsem to ale stále to 10.4.160.129 nepingnu :o(
22.12.2005 16:41 jirka
Rozbalit Rozbalit vše Re: Routrování
jak vypadá nyní script pro iptables?
22.12.2005 16:43 Warlord
Rozbalit Rozbalit vše Re: Routrování
Tady to je:
#!/bin/bash
IPTABLES='/usr/sbin/iptables'
# Set interface values
EXTIF=eth0
INTIF=eth2

# enable ip forwarding in the kernel
/bin/echo 1 > /proc/sys/net/ipv4/ip_forward
# flush rules and delete chains
$IPTABLES -F
$IPTABLES -X
# enable masquerading to allow LAN internet access
$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
# forward LAN traffic from $INTIF1 to Internet interface $EXTIF
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -m state --state NEW -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# forward LAN traffic from $INTIF2 to Internet interface $EXTIF
# $IPTABLES -A FORWARD -i $INTIF2 -o $EXTIF -m state --state NEW,ESTABLISHED -j ACCEPT
#echo -e "       - Allowing access to the SSH server"
$IPTABLES -A INPUT --protocol tcp --dport 22 -j ACCEPT
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#echo -e "       - Allowing access to the HTTP server"
$IPTABLES -A INPUT --protocol tcp --dport 80 -j ACCEPT
$IPTABLES -A INPUT --protocol tcp --dport 21 -j ACCEPT
$IPTABLES -A INPUT --protocol tcp --dport 8080 -j ACCEPT
# block out all other Internet access on $EXTIF
$IPTABLES -A INPUT -i $EXTIF -m state --state NEW,INVALID -j DROP
$IPTABLES -A FORWARD -i $EXTIF -m state --state NEW,INVALID -j DROP
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD DROP
22.12.2005 16:52 jirka
Rozbalit Rozbalit vše Re: Routrování
No nevidím tam žádné závažné chyby, akorát mě mate chybějící "eth1", co vypíše:
ifconfig
pak tyhle řádky mi připadají zbytečný (stejnak se DROPnou):
$IPTABLES -A INPUT -i $EXTIF -m state --state NEW,INVALID -j DROP
$IPTABLES -A FORWARD -i $EXTIF -m state --state NEW,INVALID -j DROP
22.12.2005 16:54 Warlord
Rozbalit Rozbalit vše Re: Routrování
ifconfig mi vypíše toto:
eth0      Zapouzdření:Ethernet  HWadr 00:C0:26:23:28:12
          inet adr:10.4.160.130  Všesměr:10.4.160.131 Maska:255.255.255.252
          inet6-adr: fe80::2c0:26ff:fe23:2812/64 Rozsah:Linka
          AKTIVOVÁNO VŠESMĚROVÉ_VYSÍLÁNÍ BĚŽÍ MULTICAST  MTU:1500  Metrika:1
          RX packets:3954 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3807 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 délka odchozí fronty:1000
          RX bytes:2240565 (2.1 Mb)  TX bytes:685896 (669.8 Kb)
          Přerušení:10 Vstupně/Výstupní port:0x2000

eth2      Zapouzdření:Ethernet  HWadr 00:60:08:10:1D:7D
          inet adr:172.16.45.1  Všesměr:172.16.255.255 Maska:255.255.0.0
          inet6-adr: fe80::260:8ff:fe10:1d7d/64 Rozsah:Linka
          AKTIVOVÁNO VŠESMĚROVÉ_VYSÍLÁNÍ BĚŽÍ MULTICAST  MTU:1500  Metrika:1
          RX packets:18 errors:0 dropped:0 overruns:0 frame:0
          TX packets:23 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 délka odchozí fronty:1000
          RX bytes:2519 (2.4 Kb)  TX bytes:2028 (1.9 Kb)
          Přerušení:11 Vstupně/Výstupní port:0xe400

lo        Zapouzdření:Místní smyčka
          inet adr:127.0.0.1 Maska:255.0.0.0
          inet6-adr: ::1/128 Rozsah:Počítač
          AKTIVOVÁNO SMYČKA BĚŽÍ  MTU:16436  Metrika:1
          RX packets:62 errors:0 dropped:0 overruns:0 frame:0
          TX packets:62 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 délka odchozí fronty:0
          RX bytes:4012 (3.9 Kb)  TX bytes:4012 (3.9 Kb)
22.12.2005 17:03 jirka
Rozbalit Rozbalit vše Re: Routrování
Na zacatek scriptu pro firewall přidat:
MODPROBE=`which modprobe`
DEPMOD=`which depmod`

# Inicializace databaze modulu
$DEPMOD -a

# Zavedeme moduly
$MODPROBE ip_tables
$MODPROBE ip_conntrack
$MODPROBE ip_conntrack_ftp
$MODPROBE ip_nat_ftp
A z lokalního rozhraní všechny pakety povolit:
$IPTABLES -A INPUT -i lo  -j ACCEPT
Z toho linuxovýho počítače jde pingnout na branu (IP 10.4.160.129)?
22.12.2005 17:09 Warlord
Rozbalit Rozbalit vše Re: Routrování
Tak jsem to upravil do této podoby. Snad dobře:
#!/bin/bash
MODPROBE=`which modprobe`
DEPMOD=`which depmod`
# Inicializace databaze modulu
$DEPMOD -a
# Zavedeme moduly
$MODPROBE ip_tables
$MODPROBE ip_conntrack
$MODPROBE ip_conntrack_ftp
$MODPROBE ip_nat_ftp
IPTABLES='/usr/sbin/iptables'
# Set interface values
EXTIF=eth0
INTIF=eth2
# enable ip forwarding in the kernel
/bin/echo 1 > /proc/sys/net/ipv4/ip_forward
# flush rules and delete chains
$IPTABLES -F
$IPTABLES -X
# enable masquerading to allow LAN internet access
$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
# forward LAN traffic from $INTIF1 to Internet interface $EXTIF
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -m state --state NEW -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# forward LAN traffic from $INTIF2 to Internet interface $EXTIF
# $IPTABLES -A FORWARD -i $INTIF2 -o $EXTIF -m state --state NEW,ESTABLISHED -j ACCEPT
#echo -e "       - Allowing access to the SSH server"
$IPTABLES -A INPUT --protocol tcp --dport 22 -j ACCEPT
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#echo -e "       - Allowing access to the HTTP server"
$IPTABLES -A INPUT --protocol tcp --dport 80 -j ACCEPT
$IPTABLES -A INPUT --protocol tcp --dport 21 -j ACCEPT
$IPTABLES -A INPUT --protocol tcp --dport 8080 -j ACCEPT
$IPTABLES -A INPUT -i lo  -j ACCEPT
# block out all other Internet access on $EXTIF
$IPTABLES -A INPUT -i $EXTIF -m state --state NEW,INVALID -j DROP
$IPTABLES -A FORWARD -i $EXTIF -m state --state NEW,INVALID -j DROP
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD DROP
Jinak 10.4.160.129 mi pingnout z PC s Linuxem jde v pohodě ale z PC s Windows to nejde.
22.12.2005 17:11 Warlord
Rozbalit Rozbalit vše Re: Routrování
Člověče ty jsi zlatej. Už to jede po vykonání toho scriptu. Nevím jak ti poděkovat. Máš u mě panák absinta :o)
22.12.2005 17:20 jirka
Rozbalit Rozbalit vše Re: Routrování
Tak asi už jsem v koncích. Ještě naposledy, jak teď vypadá výpis /sbin/route
22.12.2005 08:51 Warlord
Rozbalit Rozbalit vše Re: Routrování
Odpovědět | | Sbalit | Link | Blokovat | Admin
Momentálně jsem v práci. Až dorazím domů skusím to udělat dle vašich rad a dám vědět jak to dopadlo. Jinak všem moc děkuji.
22.12.2005 16:32 Warlord
Rozbalit Rozbalit vše Re: Routrování
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nejvíc mě štve, že z počítače s Windows pingnu jak eth2 tak i eth0 takže routrovat to musí. Providera ale už z Windowsu nepingnu :o(
22.12.2005 16:34 jirka
Rozbalit Rozbalit vše Re: Routrování
Na IP 10.4.160.129 jde pingnout?
22.12.2005 16:36 Warlord
Rozbalit Rozbalit vše Re: Routrování
Nejde. Zatím jsem ale nic neměnil oproti stavu který popisuji.
22.12.2005 21:52 ...... | skóre: 41 | blog: ...
Rozbalit Rozbalit vše Re: Routrování
rada mimo mísu...není to routrovat ale routovat.
22.12.2005 17:12 Warlord
Rozbalit Rozbalit vše Re: Routrování
Odpovědět | | Sbalit | Link | Blokovat | Admin
Všem vám přátelé moc děkuji za pomoc. Veselé vánoce ;o)

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.