Blokowanie ruchu mi

Masz problemy z siecią bądź internetem? Zapytaj tu
PioDer
Posty: 47
Rejestracja: 20 czerwca 2009, 12:37

[+] Blokowanie ruchu między dwoma interfejsami sieciowymi

Post autor: PioDer »

Dzień dobry,
Jestem tutaj nowy, proszę o wyrozumiałość. Mam następujący problem: dołożyłem do swojego domowego serwera jeszcze jedną kartę sieciową. Pierwsza karta, eth0 ma IP 192.168.0.1, zaś druga (eth1) - 192.168.0.2. Obydwie karty wpięte są do jednego przełącznika. Kiedy próbuję dostać się na 192.168.0.2 ruch idzie dość nietypowo - przez eth0 do eth1. Wygląda to tak, jakby serwer ,,robił'' za przełącznik. Jak zablokować pod Debianem tak ruch, abym mógł bezpośrednio się łączyć ze 192.168.0.2, bez użycia eth0?
Pozdrawiam
fnmirk
Senior Member
Posty: 8295
Rejestracja: 03 grudnia 2007, 06:37

Post autor: fnmirk »

Narysuj schemat połączenia z internetem i przedstaw na forum.
Awatar użytkownika
grzesiek
Junior Member
Posty: 932
Rejestracja: 06 stycznia 2008, 10:41
Lokalizacja: Białystok

Post autor: grzesiek »

Hy, dwie karty w hoście z tej samej sieci, no nie wiem...
Pewnie pakiety przechodzą przez eth0 bo jest bramka dla eth1, mam rację?
Będziesz musiał dużo tu wyjaśnień jeszcze napisać, jak wyglądają trasy, reguły zapory i przyda się wspomniany schemat zapewne :)
PioDer
Posty: 47
Rejestracja: 20 czerwca 2009, 12:37

Post autor: PioDer »

Schemat sieci przedstawiam w załączniku. Czerwoną linią zaznaczyłem interfejs, na którym jest utworzona brama. Chodzi mi o to, że ze 192.168.0.2 łączy się za pomocą bramy, czyli już na serwerze, a nie bezpośrednio z przełącznika.
Załączniki
siec_schemat.jpg
Awatar użytkownika
timor
Beginner
Posty: 111
Rejestracja: 18 sierpnia 2009, 23:40

Post autor: timor »

Ciekaw jestem czy wyłączenie ip_forwardingu coś zmieni, ale z dwoma sieciówkami w jednym segmencie sieci nigdy się nie bawiłem. Na czymś takim nawet nie ma jak source routingu ustawić - może bonding (agregowanie interfejsów) działałoby tak jak chcesz?
fnmirk
Senior Member
Posty: 8295
Rejestracja: 03 grudnia 2007, 06:37

Post autor: fnmirk »

Skoro napisałeś o dwóch kartach sieciowych to z internetem łączysz się przez jakiś modem podpięty np. do portu usb (mogłaby tu być trzecia karta sieciowa ale nic o niej nie wspominasz). Według mnie to wystarczy odpowiednio ustawić iptables.
Masz rozwiązanie z kartami sieciowymi:
http://night.jogger.pl/2007/10/14/mala- ... tem-linux/

Dopasuj do swojego przypadku.
PioDer
Posty: 47
Rejestracja: 20 czerwca 2009, 12:37

Post autor: PioDer »

Tak, łączę się z Internetem za pomocą Sagema F@st 800 (Neostrada). Zauważyłem pewną rzecz:

Kod: Zaznacz cały

misiek:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
rze-ru2.neo.tpn *               255.255.255.255 UH    0      0        0 ppp0
localnet        *               255.255.255.0   U     0      0        0 eth0
localnet        *               255.255.255.0   U     0      0        0 eth1
default         *               0.0.0.0         U     0      0        0 ppp0
Manipulowanie wpisami localnet dla eth0 i eth1 (usuwanie, dodawanie) pozwala mi na zmianę przepływu pingu. W powyższej konfiguracji, kiedy próbuję pingować 192.168.0.2, pakiety przepływają przez 192.168.0.1. Jak zrobić, aby nie było routowania z eth0 na eth1 oraz odwrotnie, tylko na sam interfejs ppp0?
fnmirk
Senior Member
Posty: 8295
Rejestracja: 03 grudnia 2007, 06:37

Post autor: fnmirk »

Nie robiłem tak (na dwie karty) ale ustawienia powinny być chyba wykonane w pliku konfiguracyjnym iptables - maskarada.
PioDer
Posty: 47
Rejestracja: 20 czerwca 2009, 12:37

Post autor: PioDer »

Może pokaże swojego firewalla:

Kod: Zaznacz cały

#!/bin/bash

#FLUSH.
iptables -F
iptables -F -t nat
iptables -X -t nat
iptables -F -t filter
iptables -X -t filter
echo 1 > /proc/sys/net/ipv4/ip_forward

#ACCEPT/DROP
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT

##################################################################################
#USTAWIENIA DLA USEROW


iptables -t nat -A POSTROUTING -s 192.168.0.3 -j MASQUERADE
iptables -A FORWARD -m mac --mac-source xx:xx:xx:xx:xx:xx -j ACCEPT

iptables -t nat -A POSTROUTING -s 192.168.0.4 -j MASQUERADE
iptables -A FORWARD -m mac --mac-source XX:XX:XX:XX:XX:XX -j ACCEPT


#INPUT
#loopback
iptables -A INPUT -i lo -j ACCEPT

#przepuszczamy polaczenia zestawione
iptables -A INPUT -p tcp -j ACCEPT -m state --state ESTABLISHED
iptables -A INPUT -p tcp -j ACCEPT -m state --state RELATED
iptables -A INPUT -p udp -j ACCEPT -m state --state ESTABLISHED
iptables -A INPUT -p udp -j ACCEPT -m state --state RELATED

#ssh
iptables -A INPUT -p tcp -s 0/0 -d 0/0 --dport 22 -j ACCEPT

#ping wykonywany przeze mnie
iptables -A INPUT -p icmp -j ACCEPT -m state --state ESTABLISHED
iptables -A INPUT -p icmp -i eth0 -j ACCEPT
iptables -A INPUT -p icmp -i eth1 -j ACCEPT
iptables -A INPUT -p icmp -i ppp0 -j DROP # blokada PING dla WANu


iptables -A INPUT -i eth0 -p udp --dport 445 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 445 -j ACCEPT
iptables -A INPUT -i eth1 -p udp --dport 445 -j ACCEPT
iptables -A INPUT -i eth1 -p tcp --dport 445 -j ACCEPT

#-------------------------------------------------------

#ciecie duzych pakietow
iptables -A FORWARD -p udp -m length --length 1600:65535

#zamkniecie luki w iptables
iptables -A OUTPUT -m state -p icmp --state INVALID -j DROP

#zamkniecie luki w iptables
iptables -A INPUT -i ppp0 -p tcp -s 0/0 -d 0/0 --dport 631 -j DROP

#blokada: jawne odrzucenie protokolu IDENT
iptables -A INPUT -p tcp --dport 113 -j REJECT --reject-with icmp-port-unreachable

#blokada: jawne odrzucenie protokolu SOCKS
iptables -A INPUT -p tcp --dport 1080 -j REJECT --reject-with icmp-port-unreachable


#FORWARD
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
fnmirk
Senior Member
Posty: 8295
Rejestracja: 03 grudnia 2007, 06:37

Post autor: fnmirk »

A jak zamienisz kolejność wpisów dotyczących kart sieciowych (w pliku iptables) to się coś zmienia?
ODPOWIEDZ