Strona 1 z 2
[+] Blokowanie ruchu między dwoma interfejsami sieciowymi
: 18 lipca 2010, 12:38
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
: 18 lipca 2010, 13:02
autor: fnmirk
Narysuj schemat połączenia z internetem i przedstaw na forum.
: 18 lipca 2010, 13:13
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
: 18 lipca 2010, 13:56
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.
: 21 lipca 2010, 20:09
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?
: 21 lipca 2010, 23:20
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.
: 22 lipca 2010, 10:43
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?
: 22 lipca 2010, 10:55
autor: fnmirk
Nie robiłem tak (na dwie karty) ale ustawienia powinny być chyba wykonane w pliku konfiguracyjnym iptables - maskarada.
: 22 lipca 2010, 11:25
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
: 24 lipca 2010, 12:29
autor: fnmirk
A jak zamienisz kolejność wpisów dotyczących kart sieciowych (w pliku iptables) to się coś zmienia?