Portál AbcLinuxu, 13. května 2024 14:22


Dotaz: Iptables a INCOMING pro veřejné IP

5.2.2007 16:34 Piškot | skóre: 7 | blog: Uživatel | Přerov nad labem
Iptables a INCOMING pro veřejné IP
Přečteno: 313×
Odpovědět | Admin
Dobrý den, reším problém s iptables krerý přesahuje moje znalosti. Jedná se o protažení veřejných ipadres zkrze firewall (zděděný tudíš dost nestandartní).

princip:

veřejný rosah: 193.0.0.160 - 193.0.0.175

adresa brány(provider): 193.0.0.161

můj firewall: 193.0.0.162

počítač ve vnitřní siti 193.0.0.164

pravidla
#!/bin/sh
# proměnné
LO=lo
LAN=eth1
WAN=eth0


# vyresetování pravidel 
iptables -F -t mangle
iptables -F -t nat
iptables -F -t filter
iptables -F
iptables -Z
iptables -X

# politika firewalu   - byla by lepší DROP, ale takle to funguje
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P POSTROUTING ACCEPT
# definice tabulek
iptables -N Spolnet-BADFILTER # špatné pakety
iptables -N Spolnet-BANNED # zakázané pakety
iptables -N Spolnet-FORWARD # průchozí do natu
iptables -N Spolnet-INCOMING # průchozí
iptables -N Spolnet-INPUT # přístupy
iptables -N Spolnet-MACFILTER # kontrola mac adresy
# pravidla pro INPUT
iptables -A INPUT -j Spolnet-BADFILTER 
iptables -A INPUT -j Spolnet-BANNED 
iptables -A INPUT -j Spolnet-INPUT 


# pravidla pro FORWARD
iptables -A FORWARD -j Spolnet-BADFILTER 
iptables -A FORWARD -j Spolnet-MACFILTER 
iptables -A FORWARD -j Spolnet-INCOMING 
iptables -A FORWARD -j Spolnet-FORWARD 
# špatné pakety
iptables -A Spolnet-BADFILTER -m state --state INVALID -j DROP 
iptables -A Spolnet-BADFILTER -p tcp -m tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j DROP 
iptables -A Spolnet-BADFILTER -p tcp -m tcp ! --tcp-flags SYN,RST,ACK SYN -m state --state NEW -j DROP 
iptables -A Spolnet-BADFILTER -p tcp -m tcp -m multiport --dports 135,136,137,138,139,445 -m state --state NEW -j DROP  
iptables -A Spolnet-BADFILTER -p udp -m udp -m multiport --dports 135,136,137,138,139,445 -m state --state NEW -j DROP 
# routing
iptables -A Spolnet-FORWARD -p icmp -m icmp --icmp-type any -j ACCEPT 
iptables -A Spolnet-FORWARD -i eth1 -p tcp -m tcp --dport 53 -m state --state NEW -j ACCEPT 
iptables -A Spolnet-FORWARD -p tcp -m tcp --dport 15152 -m state --state NEW -j ACCEPT 
iptables -A Spolnet-FORWARD -p tcp -m tcp --dport 3389 -m state --state NEW -j ACCEPT 
iptables -A Spolnet-FORWARD -i eth1 -p tcp -m tcp -m multiport --dports 143,110,443,995,993,80,20,21,22,25,5190,1024 -m state --state NEW -j ACCEPT 
iptables -A Spolnet-FORWARD -i eth1 -p tcp -m tcp -m multiport --dports 11571,27342,26000,29999 -m state --state NEW -j ACCEPT 
iptables -A Spolnet-FORWARD -i eth1 -p udp -m udp -m multiport --dports 11571,27342,26000,29999 -m state --state NEW -j ACCEPT 
iptables -A Spolnet-FORWARD -i eth1 -p udp -m state --state NEW -m udp --dport 53 -j ACCEPT 
iptables -A Spolnet-FORWARD -i eth1 -p tcp -m tcp --dport 1024 -m state --state NEW -j ACCEPT 
iptables -A Spolnet-FORWARD -i eth1 -p tcp -m tcp --dport 3781 -m state --state NEW -j ACCEPT 
iptables -A Spolnet-FORWARD -i eth1 -p tcp -m tcp --dport 2280 -m state --state NEW -j ACCEPT 
iptables -A Spolnet-FORWARD -i eth1 -p tcp -m tcp --dport 26000:29999 -m state --state NEW -j ACCEPT 
iptables -A Spolnet-FORWARD -i eth1 -p udp -m state --state NEW -m udp --dport 26000:29999 -j ACCEPT 
iptables -A Spolnet-FORWARD -i eth1 -p tcp -m tcp --dport 6667:7777 -m state --state NEW -j ACCEPT 
iptables -A Spolnet-FORWARD -i eth1 -p tcp -m tcp --dport 60000:65534 -m state --state NEW -j ACCEPT 
iptables -A Spolnet-FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT 
iptables -A Spolnet-FORWARD -j REJECT --reject-with icmp-host-prohibited 

# průchozí pakety
iptables -A Spolnet-INCOMING -d 193.0.0.162 -m state --state NEW -j ACCEPT 
iptables -A Spolnet-INCOMING -d 193.0.0.160/255.255.255.240 -m state --state NEW -j ACCEPT 

# input
iptables -A Spolnet-INPUT -i lo -j ACCEPT 
iptables -A Spolnet-INPUT -p icmp -m icmp --icmp-type any -j ACCEPT 
iptables -A Spolnet-INPUT -i eth1 -p udp -m udp --sport 67:68 --dport 67:68 -j ACCEPT 
iptables -A Spolnet-INPUT -p udp -m state --state NEW -m udp --dport 53 -j ACCEPT 
iptables -A Spolnet-INPUT -p tcp -m tcp --dport 60000:65534 -m state --state NEW -j ACCEPT 
iptables -A Spolnet-INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
iptables -A Spolnet-INPUT -i eth1 -p tcp -m tcp -m multiport --dports 25,53,15151,15152,143,110,443,995,993,80,2280,2279 -m state --state NEW -j Spolnet-MACFILTER 
iptables -A Spolnet-INPUT -p tcp -m tcp -m multiport --dports 25,53,15151,15152,143,110,443,995,993,80,2280,2279,3389 -m state --state NEW -j ACCEPT 
iptables -A Spolnet-INPUT -j REJECT --reject-with icmp-host-prohibited 

  

# macfilter
iptables -A Spolnet-MACFILTER -p udp -m state --state NEW -m udp --dport 53 -j RETURN
iptables -A Spolnet-MACFILTER -s 192.168.0.0/255.255.255.0 -p tcp -m tcp --dport 80 -m state --state NEW -j RETURN  
iptables -A Spolnet-MACFILTER -s 192.168.2.0/255.255.255.0 -p tcp -m tcp --dport 80 -m state --state NEW -j RETURN  
iptables -A Spolnet-MACFILTER -s 192.168.10.251 -m mac --mac-source 00:20:ED:88:EA:1E -m state --state NEW -j ACCEPT 
# vloží MACFILTER záznamy z databáze
# INCLUDE ---------------------
chmod +x /etc/iptables/iptables_mac_lhotska
    /etc/iptables/iptables_mac_lhotska
chmod -x /etc/iptables/iptables_mac_lhotska
# ----------------------------

# Značkování paketů podle záznamů z databáze
# INCLUDE ---------------------
chmod +x /etc/iptables/iptables_mangle_lhotska
    /etc/iptables/iptables_mangle_lhotska
chmod -x /etc/iptables/iptables_mangle_lhotska
# ----------------------------

# nastavení jádra
echo "1" > /proc/sys/net/ipv4/ip_forward # povolí routování
echo 65528 >/proc/sys/net/ipv4/ip_conntrack_max
echo 113000 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established

iptables -t nat -A POSTROUTING -s 192.168.10.0/255.255.255.0 -j SNAT --to-source 193.0.0.162
# Konec a vypsání pravidel
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

5.2.2007 17:08 B0biN | skóre: 21 | blog: B0biN bloguje
Rozbalit Rozbalit vše Re: Iptables a INCOMING pro veřejné IP
Odpovědět | | Sbalit | Link | Blokovat | Admin
ja bych to cpal spise pres "route" a ne pres iptables
cd /pub | more beer
5.2.2007 17:12 Piškot | skóre: 7 | blog: Uživatel | Přerov nad labem
Rozbalit Rozbalit vše Re: Iptables a INCOMING pro veřejné IP
Route
193.0.0.160  *               255.255.255.240 U     0      0        0 eth1
193.0.0.160  *               255.255.255.240 U     0      0        0 eth0
192.168.10.0    *               255.255.255.0   U     0      0        0 eth1
default         193.0.0.161  0.0.0.0         UG    0      0        0 eth0
ifconfig
eth0      Link encap:Ethernet  HWaddr 00:40:F4:8B:51:57  
          inet addr:193.0.0.162  Bcast:193.179.65.175  Mask:255.255.255.240
          inet6 addr: fe80::240:f4ff:fe8b:5157/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:130662391 errors:0 dropped:0 overruns:0 frame:0
          TX packets:122939940 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:111573388854 (103.9 GiB)  TX bytes:61657008880 (57.4 GiB)
          Interrupt:58 

eth1      Link encap:Ethernet  HWaddr 00:0E:2E:56:FA:7F  
          inet addr:192.168.10.250  Bcast:192.168.10.255  Mask:255.255.255.0
          inet6 addr: fe80::20e:2eff:fe56:fa7f/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:157725661 errors:4 dropped:32 overruns:2 frame:0
          TX packets:152409814 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:77950913746 (72.5 GiB)  TX bytes:125454307691 (116.8 GiB)
          Interrupt:50 Base address:0x4c00 

eth1:1    Link encap:Ethernet  HWaddr 00:0E:2E:56:FA:7F  
          inet addr:193.0.0.163  Bcast:193.179.65.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:50 Base address:0x4c00 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:1265 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1265 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:141180 (137.8 KiB)  TX bytes:141180 (137.8 KiB)

5.2.2007 17:13 Piškot | skóre: 7 | blog: Uživatel | Přerov nad labem
Rozbalit Rozbalit vše Re: Iptables a INCOMING pro veřejné IP
Zkrze route ? Jak je to myšleno ?
5.2.2007 17:18 zabza | skóre: 52 | blog: Nad_sklenkou_cerveneho
Rozbalit Rozbalit vše Re: Iptables a INCOMING pro veřejné IP
Začal bych na FAQ: Jak zprovoznit veřejnou IP adresu ve vnitřní síti (nebo DMZ)?

Zatímco výpis vašeho fw je téměř kompletní, tak nějak postrádám popis problému :-)
6.2.2007 12:53 Piškot | skóre: 7 | blog: Uživatel | Přerov nad labem
Rozbalit Rozbalit vše Re: Iptables a INCOMING pro veřejné IP
Obecně je problém v tom že na jiném stroji vše běhá jak má. Jediný rozdíl je v tom že stroj má do internetu jinou ip adresu 82.208.38.0 než veřejné ip 82.208.2.0 v tomhle případě je rosah stejný a nikam se nedostanu. Takže chyba bude asi v route. Je potřeba mít bránu ve stejném rosahu jak daná veřejná Ip ? Nebo můžu posílat na jinou bránu ?
6.2.2007 13:07 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Iptables a INCOMING pro veřejné IP
Promiňte, ale váš popis je naprosto zmatený. Vůbec nechápu, co je "stroj" - stanice, která se potřebuje dostat ven, nebo router? Zkuste v klidu a srozumitelně napsat, jak vypadá vaše topologie, kde máte jaké adresy a čeho chcete docílit.
6.2.2007 14:00 Piškot | skóre: 7 | blog: Uživatel | Přerov nad labem
Rozbalit Rozbalit vše Re: Iptables a INCOMING pro veřejné IP
Prominte opravdu se vyjadřuju dost zmatečně.

Takže ještě jednou:

Mám přidělený rosah Ip adres od providera, které můžu použít. První v rosahu je brána providera 193.0.0.161. Moje brána má venkovní (k providerovi) 193.0.0.162 a vnitřní (nevím jestli je potřeba) 193.0.0.163. Stanice s přidělenou 193.0.0.164 se dostane až na vnější na bráně 193.0.0.162, ale už ne na 193.0.0.161 a hledám chybu. problém bude asi v route (výpis dříve). Procházím články a řešení, ale veřejky potřebuju co nejdříve nasadit :( (vím to se říkat nemá - jen se ospravedlňuju)
6.2.2007 14:06 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Iptables a INCOMING pro veřejné IP
Pokud skutečně chcete používat adresy z jednoho rozsahu na dvou různých segmentech, budete muset použít něco na způsob Proxy ARP (nebo rovnou bridge - se všemi nevýhodami z toho plynoucími). Přečtěte si to FAQ, na které tu byl odkaz, je to tam popsané celkem důkladně.
6.2.2007 17:23 Grumpa | skóre: 5
Rozbalit Rozbalit vše Re: Iptables a INCOMING pro veřejné IP
Odpovědět | | Sbalit | Link | Blokovat | Admin
Možná to půjde jinak: Respektujme, že jedna síť má jeden rozsah IP adres, takže to co chcete je vlastně tak trochu prasárnička, že? :o)

Počítači ve vnitřní síti dejte v pohodě IP adresu z privátního rozsahu (třeba 192.168.1.10). Tu IP, kterou jste chtěl pro sebe uvnitř, přidělte jakou druhou IP adresu tomu firewallu:
ifconfig eth0 193.0.0.162
ifconfig eth0:1 193.0.0.164
a z druhé strany
ifconfig eth1: 192.168.1.1
A do pravidel IPTables si dejte, že co přijde na eth0 a má IP 192.0.0.164 se bude přesměrovávat na IP adresu 192.168.1.10.

Nejsem expert na IPTables, ale takhle nějak by to mělo jít. Každopádně tak máte adresy z jednoho rozsahu v jedné síti.
6.2.2007 18:14 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Iptables a INCOMING pro veřejné IP
Tahle možnost je v tom FAQ samozřejmě taky - ale je to asi tak ta nejhorší metoda, jak to řešit. A to nemluvím o používání ifconfig
6.2.2007 20:53 Piškot | skóre: 7 | blog: Uživatel | Přerov nad labem
Rozbalit Rozbalit vše Re: Iptables a INCOMING pro veřejné IP
Odpovědět | | Sbalit | Link | Blokovat | Admin
Děkuju za pomoc, dle návodu v FAQ by řešení bylo dost náročné a neflexibilní. Řešení nakonec bylo jednoduché. Poskytovatel internetu (GTS novera) my vyšel vstříc a namapoval celý rosah na jinou veřejnou ip. Takže moje brána měla jinou vnější ip než vnitřní rosah veřejných ip. V tom případě routování funguje.

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.