|
klient VPN nie może nawiązać połączenia z serwerem
lukaz1987 - 27-08-2008 20:39
Witajcie Mam serwer postawiony na Debianie, który pracuje jako router dla 40 komputerów pracujących na Windows XP. Mój problem polega na tym, że po skonfigurowaniu w Windows XP klienta VPN CISCO (IP 88.XX.XX.XX) nie mogę się połączyć z serwerem, który udostępnia stronę (IP 10.X.X.X). W Iptables dodałem taką regułkę:
IPT -A FORWARD -i $LDEV -s $DEBIAN_LAN -p udp -d 88.XX.XX.XX -m multiport --destination-ports 500,4500,10000 -m state --state NEW,ESTABLISHED -j LOG $IPT -A FORWARD -i $LDEV -s $DEBIAN_LAN -p udp -d 88.XX.XX.XX -m multiport --destination-ports 500,4500,10000 -m state --state NEW,ESTABLISHED -j ACCEPT
Po takiej regule VPN Cisco łączy mi się z serwerem nawet pingi działają na ip 10.X.X.X. ale stronka nie chce się załadować. Proszę o wyrozumiałość gdyż jestem początkującym administratorem.
sappa - 27-08-2008 21:31
Sprobuj tam dopisac do obu linijek RELATED w --state
lukaz1987 - 02-09-2008 20:10
Nic nie pomogło Sappa dopisanie RELATED. Może jakaś inna propozycja?
sappa - 02-09-2008 20:37
Po kolei. Jaki adres ma Windows XP jaki serwer bo z tego co napisałeś to ciężko się połapać. Co to jest DEBIAN_LAN, i do jakiego serwera chcesz się połączyć? Do tego rutera, czy jakiegoś komputera poza siecią. I wywal tą linijkę iptables z LOG.
lukaz1987 - 03-09-2008 18:23
Już wszystko opisuję. Windowsy pobierają sobie IP z puli od 192.168.0.1-255 i każdy posiada klienta vpn cisco (każdy ma się połączyć ze stronką o adresie https://10.X.X.X/nazwa). Serwer ma wewnętrzne ip 192.168.0.143, a zewnętrzne 83.29.10.XX. Chcę się połączyć z komputerem z poza sieci, a oznaczenie DEBIAN_LAN jest to oznaczenie sieci lan w moim skrypcie firewalla. Wszystkie już komputery połączyły się klientem vpn, ale po wpisaniu adresu nie mogę się połączyć. Ale za to pingi dochodzą.
sappa - 03-09-2008 20:08
Adres:
https://10.X.X.X/nazwa
rozumie jest na jakimś komputerze za serwerem o adresie 83.29.10.XX. Na tym serwerze znajduje się również serwer VPN i komputery w jego sieci mają adresy z puli 10.x.x.x. Pomiń tę regułkę z LOG i do portów dopisz 443 i ewentualnie 80.
lukaz1987 - 04-09-2008 18:51
Tak jest jak napisałeś i zrobiłem jak mówiłeś i dalej bez rezultatów.
sappa - 04-09-2008 22:45
No to brak mi pomysłów. Wklej tu całego firewala i za pomocą tcpdumpa na interfejsie wewnętrznym zobacz czy w ogóle serwer przepuszcza ruch na porcie 443 do hosta 10.x.x.x i czy ruch wraca z lanu do serwera. Jeśli tak to zobacz czy na interfejsie zewnętrznym wysyłane są do ciebie (komputer z Windows XP) odpowiedź z tego komputera. No i ogólnie sprawdź w którym miejscu ruch się urywa :-)
Pozdro
lukaz1987 - 05-09-2008 00:20
#!/bin/bash
IPT=/usr/local/bin/iptables
. /etc/eth.conf ( IDEV=eth0; LDEV=eth1 )
echo "Setting firewall:" echo -n " firewall version: " echo `$IPT --version`
# Get our ip address DEBIAN_IP=`ifconfig $IDEV | grep inet | cut -f2 -d: | cut -f1 -d" "` DEBIAN_LAN=192.168.0.0/24 DEBIAN_IP2=83.29.10.XX
echo " DEBIAN IP: $DEBIAN_IP" echo -n "Firewall rules... "
CLASS_A="10.0.0.0/8" CLASS_B="172.16.0.0/12" CLASS_C="192.168.0.0/16" CLASS_D_MULTICAST="224.0.0.0/5" CLASS_E_RESERVED="240.0.0.0/5" LOOPBACK="127.0.0.1/8"
# Ports UNUSED_PORTS="1024:65535" USED_PORTS="0:1023" TR_SRC_PORTS="32769:65535" TR_DST_PORTS="33434:33523"
$IPT -F $IPT -F -t nat $IPT -F -t mangle $IPT -X $IPT -Z $IPT -P INPUT DROP $IPT -P OUTPUT DROP $IPT -P FORWARD DROP
/sbin/modprobe -r ip_nat_ftp /sbin/modprobe -r ip_conntrack_ftp /sbin/modprobe ip_conntrack_ftp /sbin/modprobe ip_nat_ftp
# Forwarding echo 1 > /proc/sys/net/ipv4/ip_forward
# Ignore broadcasts echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# Disable source routing # Don't accept source routed packets. Attackers can use source routing to genera # traffic pretending to be from inside your network, but which is routed back al # the path from which it came, namely outside, so attackers can compromise your # network. Source routing is rarely used for legitimate purposes. echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route # Disable icmp redirects for interface in /proc/sys/net/ipv4/conf/*/accept_redirects; do echo 0 > ${interface} done for interface in /proc/sys/net/ipv4/conf/*/send_redirects; do echo 0 > ${interface} done # Turn on reverse path filtering. This helps make sure that packets use # legitimate source addresses, by automatically rejecting incoming packets # if the routing table entry for their source address doesn't match the network # interface they're arriving on. This has security advantages because it prevent # so-called IP spoofing, however it can pose problems if you use asymmetric rout # (packets from you to a host take a different path than packets from that host # or if you operate a non-routing host which has several IP addresses on differe # interfaces. (Note - If you turn on IP forwarding, you will also get this). for interface in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 1 > ${interface} done
# SYN-FLOODING protection $IPT -N SYN-FLOOD $IPT -A SYN-FLOOD -m limit --limit 1/s --limit-burst 4 -j RETURN $IPT -A SYN-FLOOD -j DROP $IPT -A INPUT -i $IDEV -p tcp --syn -m state --state ! RELATED -j SYN-FLOOD $IPT -A FORWARD -i $IDEV -p tcp --syn -m state --state ! RELATED -j SYN-FLOOD
# Make sure NEW tcp connections are SYN packets $IPT -A INPUT -i $IDEV -p tcp ! --syn -m state --state NEW -j DROP $IPT -A FORWARD -i $IDEV -p tcp ! --syn -m state --state NEW -j DROP
# SPOOFING $IPT -A INPUT -i $IDEV -s $CLASS_A -j DROP $IPT -A INPUT -i $IDEV -s $CLASS_B -j DROP $IPT -A INPUT -i $IDEV -s $CLASS_C -j DROP $IPT -A INPUT -i $IDEV -s $CLASS_D_MULTICAST -j DROP $IPT -A INPUT -i $IDEV -s $CLASS_E_RESERVED -j DROP $IPT -A INPUT -i $IDEV -d $CLASS_A -j DROP $IPT -A INPUT -i $IDEV -d $CLASS_B -j DROP $IPT -A INPUT -i $IDEV -d $CLASS_C -j DROP $IPT -A INPUT -i $IDEV -d $CLASS_D_MULTICAST -j DROP $IPT -A INPUT -i $IDEV -d $CLASS_E_RESERVED -j DROP
$IPT -A FORWARD -i $IDEV -s $CLASS_A -j DROP $IPT -A FORWARD -i $IDEV -s $CLASS_B -j DROP $IPT -A FORWARD -i $IDEV -s $CLASS_C -j DROP $IPT -A FORWARD -i $IDEV -s $CLASS_D_MULTICAST -j DROP $IPT -A FORWARD -i $IDEV -s $CLASS_E_RESERVED -j DROP $IPT -A FORWARD -i $IDEV -d $CLASS_A -j DROP $IPT -A FORWARD -i $IDEV -d $CLASS_B -j DROP # LAN is 192.168.0.0/24 so we must ACCEPT them # (NET'ed return traffic will be DNAT'ed to 172.22.22.X) #$IPT -A FORWARD -i $IDEV -d $CLASS_C -j DROP $IPT -A FORWARD -i $IDEV -d $CLASS_D_MULTICAST -j DROP $IPT -A FORWARD -i $IDEV -d $CLASS_E_RESERVED -j DROP
$IPT -A INPUT -i $IDEV -s $DEBIAN_IP -j DROP $IPT -A FORWARD -i $IDEV -s $DEBIAN_IP -j DROP
# Refuse packets claiming to be to the loopback interface. # Refusing packets claiming to be to the loopback interface protects against # source quench, whereby a machine can be told to slow itself down by an icmp so # quench to the loopback. $IPT -A INPUT -i $IDEV -d $LOOPBACK -j DROP $IPT -A FORWARD -i $IDEV -d $LOOPBACK -j DROP
# Loopback $IPT -A INPUT -i lo -j ACCEPT $IPT -A OUTPUT -o lo -j ACCEPT
# secondary IP (DNS only) $IPT -A INPUT -i $IDEV -d $DEBIAN_IP2 -p udp --dport 53 -m state --state NEW,ESTABLISHED -j LOG $IPT -A INPUT -i $IDEV -d $DEBIAN_IP2 -p udp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT $IPT -A INPUT -i $IDEV -d $DEBIAN_IP2 -j DROP
# INET $IPT -A INPUT -i $IDEV -m state --state ESTABLISHED,RELATED -j ACCEPT $IPT -A OUTPUT -o $IDEV -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
# SSH $IPT -A INPUT -i $IDEV -p tcp --dport 22 -m state --state NEW -j LOG $IPT -A INPUT -i $IDEV -p tcp --dport 22 -m state --state NEW -j ACCEPT
# TCP services $IPT -A INPUT -i $IDEV -p tcp -m multiport --destination-ports 21,25,80,443 -m state --state NEW -j LOG $IPT -A INPUT -i $IDEV -p tcp -m multiport --destination-ports 21,25,80,443 -m state --state NEW -j ACCEPT
# UDP services #$IPT -A INPUT -i $IDEV -p udp -m multiport --destination-ports 53 -m state --state NEW -j LOG $IPT -A INPUT -i $IDEV -p udp -m multiport --destination-ports 53 -m state --state NEW -j ACCEPT
# FTP # active #$IPT -A INPUT -i $IDEV -p tcp --sport 20 -m state --state ESTABLISHED,RELATED -j ACCEPT
# TRACEROUTE #$IPT -A INPUT -i $IDEV -p udp --dport 33434:33500 -m state # icmp 3 - destination-unreachable # icmp 11 - time-exceeded #$IPT -A INPUT -i $IDEV -p icmp --icmp-type time-exceeded -j ACCEPT #$IPT -A INPUT -i $IDEV -p icmp --icmp-type 3 -j ACCEPT
# ---------------------------------------------------------------------- # LAN # ----------------------------------------------------------------------
$IPT -A INPUT -i $LDEV -m state --state ESTABLISHED,RELATED -j ACCEPT $IPT -A OUTPUT -o $LDEV -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
# LAN TCP services $IPT -A INPUT -i $LDEV -p tcp -m multiport --destination-ports 21,22,25,80,110,143 -m state --state NEW -j LOG $IPT -A INPUT -i $LDEV -p tcp -m multiport --destination-ports 21,22,25,80,443,110,143,8080 -m state --state NEW -j ACCEPT
# LAN UDP services $IPT -A INPUT -i $LDEV -p UDP -m multiport --destination-ports 53 -m state --state NEW -j ACCEPT
$IPT -A INPUT -i $LDEV -p icmp --icmp-type echo-request -j ACCEPT
# ---------------------------------------------------------------------- # FORWARD # ----------------------------------------------------------------------
$IPT -A FORWARD -i $IDEV -m state --state ESTABLISHED,RELATED -j ACCEPT
# ICMP $IPT -A FORWARD -i $LDEV -p icmp --icmp-type echo-request -j ACCEPT $IPT -A FORWARD -i $IDEV -p icmp --icmp-type echo-reply -j ACCEPT $IPT -A FORWARD -i $LDEV -p icmp --icmp-type fragmentation-needed -j ACCEPT $IPT -A FORWARD -i $IDEV -p icmp --icmp-type fragmentation-needed -j ACCEPT
# UDP services $IPT -A FORWARD -i $LDEV -s $DEBIAN_LAN -p udp -m multiport --destination-ports 53,123 -m state --state NEW,ESTABLISHED -j ACCEPT # VPN $IPT -A FORWARD -i $LDEV -s $DEBIAN_LAN -p udp -d 88.XX.XX.XX -m multiport --destination-ports 500,4500,10000 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
# TCP services $IPT -A FORWARD -i $LDEV -s $DEBIAN_LAN -p tcp -m multiport --destination-ports 21,25,80,110,119,143,443,995,16384:16484 -m state --state NEW,ESTABLISHED -j ACCEPT
# FTP (active) $IPT -A FORWARD -i $LDEV -p tcp --dport 20 -m state --state ESTABLISHED,RELATED -j ACCEPT # FTP (passive) $IPT -A FORWARD -i $LDEV -p tcp --dport $UNUSED_PORTS -m state --state ESTABLISHED,RELATED -j ACCEPT
# Required for DNAT $IPT -A FORWARD -i $IDEV -p tcp -d 192.168.0.200 --dport 22 -m mark --mark 39 -m state --state NEW,ESTABLISHED -j ACCEPT $IPT -A FORWARD -i $LDEV -p tcp -s 192.168.0.200 --sport 22 -m state --state ESTABLISHED -j ACCEPT
# ---------------------------------------------------------------------- # NAT # ----------------------------------------------------------------------
# SNAT $IPT -t nat -A POSTROUTING -o $IDEV -s $DEBIAN_LAN -j SNAT --to-source $DEBIAN_IP
# DNAT $IPT -t mangle -A PREROUTING -i $IDEV -p tcp --dport 30039 -j MARK --set-mark 39 $IPT -t nat -A PREROUTING -i $IDEV -p tcp --dport 30039 -j DNAT --to-destination 192.168.0.200:22
# Proxy redirect $IPT -t nat -A PREROUTING -i $LDEV -s $DEBIAN_LAN -p tcp --dport 80 -j REDIRECT --to-port 8080
echo "DONE, Firewall set up!"
[Dodano: 2008-09-07, 18:13] Już działa sappa, problem już jest rozwiązany, wyłączyłem tylko ustawioną konfigurację proxy w przeglądarce. Mam jeszcze takie pytanie chciałbym zrobić dostęp zdalny do mojego komputera w sieci lan, na którym jest Debian.
zanotowane.pldoc.pisz.plpdf.pisz.plminister.pev.pl
|