Nowe posty

Autor Wątek: Kilka pytań odnośnie 2xWAN + 1xLAN  (Przeczytany 5718 razy)

Bogdan.

  • Gość
Kilka pytań odnośnie 2xWAN + 1xLAN
« dnia: 2011-03-24, 19:01:42 »
Witajcie

Od kilku dni szukam w necie - jednak nic sensownego nie udaje mi się znaleźć.
W związku z tym mam kilka pytań - może ktoś się spotkał / wie.

Mam serwer dotychczasowo działający standardowo - na 1xWAN i 1xLAN, iptables maskarada z natem.

Do serwera doszło drugie łącze, a że ma on tylko 2 karty sieciowe ustawiłem interfejs drugiego łącza jako alias, czyli wygląda to tak:
eth1 - LAN
eth2 - WAN1
eth2:2 - WAN2

-> Celem dorzucenia drugiego łącza było odciążenie kilku wybranych komp. z LAN i wypuszczenie ich przez drugie łącze.
Ustawiłem zatem 2 defaultowe bramy na tym samym eth2.

Pytanie 1
Czy możliwe jest ustawienie routingu w/g źródła (czyli komp. z LAN) a nie celu (czyli sieci docelowej). czy też jest to możliwe wyłącznie za pomocą iptables?

Pytanie 2
Czy metryki default'ów w routingu powinny być ustawione na takie same?
Jak ustawiłem na takie same - serwer trochę wariował,
a jak ustawiłem na starym łączu 10 a na nowym 20 mam wrażenie, że wraca starym.
Co gorsza, po fizycznym odpięciu starego łącza, nowe przestaje działać.

Pytanie 3
Czy ktoś potkał się z czymś takim, że dla tych wybranych komp. w LAN'ie (które mają korzystać z łącza nowego) jak sprawdzam z IP na stronie w necie - pokazuje adres IP nowego łącza a jak zapuszczam tracerta wychodzi przez stare łącze.

Pytanie 4
Czy takie korzystanie z 2 łączy WAN jest możliwe na tej samej karcie sieciowej (czyli główny interfejs i alias) czy też konieczne jest dołożenie 3. sieciówki.

BARDZO WIELKA PROŚBA O POMOC. (Ja już wymiękłem :-(

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 3070
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
Kilka pytań odnośnie 2xWAN + 1xLAN
« Odpowiedź #1 dnia: 2011-03-24, 21:25:02 »
Czy komputery w sieci lokalnej mają IP publiczne, czy są za NATem? Jeżeli publiczne, to czy pula jest PA czy PI? Jeżeli PA, to czy oba łącza WAN są od tego samego operatora?

Jeżeli LAN jest prywatny za NATem, to robisz takie coś:
echo 1 WAN1 >> /etc/iproute2/rt_tables
echo 2 WAN2 >> /etc/iproute2/rt_tables

ip route add default via AdresBramyWan1 dev eth2 table WAN1
ip rule add from 192.168.0.0/24 table WAN1

ip route add default via AdresBramyWan2 dev eth2:2 table WAN2
ip rule add from 192.168.1.0/24 table WAN2

iptables -t nat -A POSTROUTING -o eth2 -j SNAT --to-source AdresTwójWWAN1
iptables -t nat -A POSTROUTING -o eth2:2 -j SNAT --to-source AdresTwójWWAN2
Teraz wszyscy w sieci lokalnej 192.168.0.0/24 będą wychodzić przez WAN1 a w 192.168.1.0/24 przez WAN2.

Rozumiem, że ETH2 wpięte jest w jakiegoś switcha i rozszyte na 2 routery? Czy switch jest jakiś inteligentniejszy? W sensie czy ma np. VLANy i trunki? Bo wtedy eth2 lepiej podefiniować jako interfejsy vlanowe, podciągnąć na switch trunkiem i tam rozszyć na poszczególne gniazda. Zaleta w stosunku do aliasów to lepsza separacja sieci WAN.
Paweł Kraszewski
~Arch/Void/Gentoo/FreeBSD/OpenBSD/Specjalizowane customy

Bogdan.

  • Gość
Kilka pytań odnośnie 2xWAN + 1xLAN
« Odpowiedź #2 dnia: 2011-03-25, 09:08:18 »
Komp. w lokalnej są za natem, jeden z nich (bramka voip) ma przekierowanie portów (docelowo właśnie do przestawienia na drugie łącze), jeden komp. do testów zwykły z winxp. bez żadnych przekierowań portu.
Nie wiem czym się różni PA od PI (nie znalazłem w necie :-(

Oba WANy są od różnych operatorów (na stałym IP) wpięte są do jednego zwykłego (niezarządzalnego) switcha przed serwerem i od switcha wchodzą jednym kablem po eth2.
Czy w takim przypadku łącza WAN powinny być separowane jakimś zarządzalnym switchem? Numery sieci, maska i routing nie wystarczą?

Ciągle te metryki mi ni dają spokoju, czy firewallem da się "przepchać" wybrane 2 kompy przez łącze o metryce z wyższym numerem.

po wpisaniu:
iptables -t nat -A POSTROUTING -o eth2:2 -j SNAT --to-source 194.181.1...
iptables mi na to:
Warning: weird character in interface `eth2:2' (No aliases, :, ! or *).
-> tak też próbowałem wcześniej i zmieniłem na eth2
może da się jakoś przepchać przez IP WAN2 zamiast -o eth2:2

Jeśli możliwe chciałbym uniknąć tworzenia dodatkowej podsieci - dla dwóch/trzech komp. szkoda

po wpisaniu:
ip route add default via AdresBramyWan1 dev eth2 table WAN1
ip rule add from 192.168.0.0/24 table WAN1
- routing się rozjechał, prawdopodobnie pogryzł się z istniejącym, dlatego po reboocie serwera wpisałem tylko dla WAN2 co dało:
# ip ru sh
0:      from all lookup local
32765:  from 192.168.1.0/24 lookup WAN2
32766:  from all lookup main
32767:  from all lookup default
a
#ip route sh
nie pojawił się nowy wpis prawdopodobnie przez istniejący (wskazujący na eth2), ustawiony automatem przez wpis w /etc/network/interfaces   (serwer na ubuntu 10.2)
wraz z metryką 20 -nowe łącze, a 10 -stare, główne

szkoda, że nie mam za bardzo jak potestować w między czasie bo ludzie w pracy i muszą swoje robić, a szef chce mi coś urwać :-(

Do tego, po reedycji firewalla (wydaje się wszystko prawidłowo pozmieniane) ten dziwny ruch - na www widać że wybrany komp wychodzi na ip WAN2 a tracert z tego komp. pokazuje, że ruch wychodzi przez WAN1

W wolnej chwili dorzucę skrypt firewalla.

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 3070
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
Kilka pytań odnośnie 2xWAN + 1xLAN
« Odpowiedź #3 dnia: 2011-03-25, 10:17:39 »
1. PI i PA to typy pul adresów publicznych (odpowiednio niezależna i zależna od operatora), więc Ciebie to nie dotyczy.

2. Nie, zasadniczo nie musisz separować WANów. Pamiętaj jednak, że broadcast na 255.255.255.255 z jednego WANu dojdzie do drugiego (to idzie de-facto po mechanizmach warstwy 2). A to niekoniecznie może spodobać się operatorom.

3. Metryki są statyczne i selekcja na podstawie metryk jest statyczna.

4. Zamiast routowania po adresach źródłowych i NATowania po interfejsach docelowych możesz pobawić się w markowanie pakietów. I NAT/routing po markach.

echo 1 WAN1 >> /etc/iproute2/rt_tables
echo 2 WAN2 >> /etc/iproute2/rt_tables

# Pierw wszystkich markujemy na WAN1
iptables -t mangle -A PREROUTING -s AdresSieciLan -j MARK --set-mark 1

# Potem wybranych markujemy na WAN2
iptables -t mangle -A PREROUTING -s Klient1 -j MARK --set-mark 2
iptables -t mangle -A PREROUTING -s Klient2 -j MARK --set-mark 2
iptables -t mangle -A PREROUTING -s Klient3 -j MARK --set-mark 2

# NATujesz też za pomocą marku a nie interfejsu
iptables -t nat -A POSTROUTING -m mark --mark 1 -j SNAT --to-source AdresTwójWWAN1
iptables -t nat -A POSTROUTING -m mark --mark 2 -j SNAT --to-source AdresTwójWWAN2

# Routujesz też za pomocą marku a nie adresu źródłowego
ip route add default via AdresBramyWan1 dev eth2 table WAN1
ip rule add fwmark 1 table WAN1

ip route add default via AdresBramyWan2 dev eth2:2 table WAN2
ip rule add fwmark 2 table WAN2
Oczywiście, żeby ostatnie 4 linijki poprawnie działały musisz wywalić zwykłe routingi do WANu z tabeli routingu. Można też pokusić się o opuszczenie części dev bo system niby wie, którędy wysłać.
Paweł Kraszewski
~Arch/Void/Gentoo/FreeBSD/OpenBSD/Specjalizowane customy

Bogdan.

  • Gość
Kilka pytań odnośnie 2xWAN + 1xLAN
« Odpowiedź #4 dnia: 2011-03-25, 18:45:36 »
Twoich rozwiązań na razie jeszcze nie sprawdzałem - noc/weekend przede mną :-|

a póki co, zgodnie z zapowiedzią podrzucam listing routingu
# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.3.0.2        *                              255.255.255.255 UH    0      0        0 tun0
NET_WAN3  *                              255.255.255.248 U     0      0        0 eth2
NET_WAN1i2    *                              255.255.255.240 U     0      0        0 eth2
10.3.0.0        10.3.0.2                       255.255.255.0   UG    0      0        0 tun0
192.168.10.0    *               255.255.255.0   U     0      0        0 eth1
10.0.0.0        IP-MODEMU-VPN-DO-2FIRMY   255.0.0.0       UG    0      0        0 eth1
default         IP_BRAMY_WAN1i2 0.0.0.0         UG    10     0        0 eth2
default         IP_BRAMY_WAN3  0.0.0.0         UG    20     0        0 eth2
oczywiście IP_BRAMY_WAN1i2 i IP_BRAMY_WAN3 to ip bram dwóch providerów

i firewalla wraz z ponumerowaniem linii (pominąłem to co hashowane).
Firewalla rekonfigurowałem na podstawie starego - istniejącego i działającego poprawnie bez drugiego łacza - WAN_IP3

     1	#!/bin/sh
       
     2 IPTABLES="/sbin/iptables"
       
     3 firewall_start ()
     4 {
     5 WAN_ETH="eth2"
     6 WAN_IP="93.159.1..."     # łącze z Crowley   maska/28
     7 WAN_IP2="93.159.1...."    # 2. adres IP z Crowley    maska/28
     8 WAN_IP3="194.181.1...."  # NOWE łącze z NASKu
     9 MODEM_IP="192.168.10.11"  # modem VPN do firmy-kontrahenta
    10 VOIP_IP="192.168.10.80"   # centralka VOIP
    12 TESTIP="192.168.10.145"   # chwilowe IP komp do moich testow
       
    13 LAN_ETH="eth1"
    14 LAN_IP="192.168.10.1"
       
    15 LO_IFACE="lo"
    16 LO_IP="127.0.0.1"
       
       
    17 ### TABLICE  ###  czyscimy, tworzymy, polityka
    18 $IPTABLES -F
    19 $IPTABLES -X
    20 $IPTABLES -P INPUT DROP
    21 $IPTABLES -P OUTPUT DROP
    22 $IPTABLES -P FORWARD ACCEPT
    23 $IPTABLES -t nat -F
    24 $IPTABLES -t nat -X
    25 $IPTABLES -t nat -P PREROUTING ACCEPT
    26 $IPTABLES -t nat -P POSTROUTING ACCEPT
    27 $IPTABLES -t mangle -F
    28 $IPTABLES -t mangle -X
    29 $IPTABLES -t mangle -P PREROUTING ACCEPT
    30 $IPTABLES -t mangle -P OUTPUT ACCEPT
    31 ### CHAINS ### - nasze wlasne lanuchy
    32 $IPTABLES -N bad_tcp_packets
    33 $IPTABLES -N blocked_ips
    34 $IPTABLES -N allowed
    35 $IPTABLES -N tcp_packets
    36 $IPTABLES -N udp_packets
    37 $IPTABLES -N icmp_packets
    38 $IPTABLES -N nat
    39
       
    40 ### NAT ###
    41 echo 1 > /proc/sys/net/ipv4/ip_forward
    43 # przekierowania wybranych komp na inne łącze
    44 $IPTABLES -t nat -A POSTROUTING -s $TESTIP -o $WAN_ETH -j SNAT --to $WAN_IP3 # <- test only
    45 $IPTABLES -t nat -A POSTROUTING -s $VOIP_IP -o $WAN_ETH -j SNAT --to $WAN_IP3 # centralka VOIP
    46 $IPTABLES -t nat -A POSTROUTING -s $MODEM_IP -o $WAN_ETH -j SNAT --to $WAN_IP3 # router VPN do firmy-kontrahenta
       
    47 # najpierw VPN - Bodek 2009-02-20
    48 $IPTABLES -A INPUT -p tcp --dport 1194 -j ACCEPT
    49 $IPTABLES -A INPUT -p ICMP  -j ACCEPT
    50 $IPTABLES -I FORWARD -s 10.3.0.2 -j ACCEPT
    51 $IPTABLES -I FORWARD -d 10.3.0.2 -j ACCEPT
    52 $IPTABLES -I FORWARD -s $WAN_IP2 -j ACCEPT
    53 $IPTABLES -I FORWARD -d $WAN_IP2 -j ACCEPT
    54 $IPTABLES -I FORWARD -s $WAN_IP3 -j ACCEPT
    55 $IPTABLES -I FORWARD -d $WAN_IP3 -j ACCEPT
       
    56 $IPTABLES -A FORWARD -i eth2 -p tcp -d 192.168.10.198 -m state --state NEW --dport 3010 -j ACCEPT
    57 $IPTABLES -t nat -A PREROUTING -p tcp -d $WAN_IP --dport 3010 -j DNAT --to 192.168.10.198:3010 # bodek
    58 $IPTABLES -A FORWARD -i eth2 -p tcp -d 192.168.10.198 -m state --state NEW --dport 80 -j ACCEPT
    59 # ITcube
    60 $IPTABLES -t nat -A PREROUTING -p tcp -d $WAN_IP2 --dport 80 -j DNAT --to 192.168.10.198:80 # bodek - test dzis - to jest to
    61 $IPTABLES -t nat -A PREROUTING -p tcp -d $WAN_IP2 --dport 143 -j DNAT --to 192.168.10.198:143 # bodek - test dzis - to jest to
    62 $IPTABLES -t nat -A PREROUTING -p tcp -d $WAN_IP2 --dport 443 -j DNAT --to 192.168.10.198:443 # bodek - test dzis - to jest to
    63
    64 # voip   5060, 16384:16482 -> lokalny udp
    65 $IPTABLES -A FORWARD -i eth2 -p udp -d $VOIP_IP -m state --state NEW --dport 5060 -j ACCEPT
    66 #$IPTABLES -t nat -A PREROUTING -p udp -d $WAN_IP --dport 5060 -j DNAT --to $VOIP_IP:5060 # voip na starym laczu Crowley
    67 $IPTABLES -t nat -A PREROUTING -p udp -d $WAN_IP3 --dport 5060 -j DNAT --to $VOIP_IP:5060 # voip na nowym laczu NASK
    68 $IPTABLES -A FORWARD -i eth2 -p udp -d $VOIP_IP -m state --state NEW -m multiport --destination-ports 16384:16482 -j ACCEPT
    69
    70 ### test dzis
    71 $IPTABLES -A FORWARD -i eth2 -p tcp -d 192.168.10.198 -m state --state NEW --dport 80 -j ACCEPT
    72 $IPTABLES -t nat -A PREROUTING -p udp -d $WAN_IP2 --dport 80 -j DNAT --to 192.168.10.198:80
    73
    74 #$IPTABLES -t nat -A PREROUTING -p udp -d $WAN_IP --dport 5060 -j DNAT --to $VOIP_IP:5060 # bodek
    75 for i in `seq 16384 16482`;
    76 do
    78  # $IPTABLES -t nat -A PREROUTING -p udp -d $WAN_IP --dport $i -j DNAT --to $VOIP_IP:$i # voip na starym laczu Crowley
    79  $IPTABLES -t nat -A PREROUTING -p udp -d $WAN_IP3 --dport $i -j DNAT --to $VOIP_IP:$i # voip na nowym laczu NASK
    80 done
       
    81 route del -net 10.0.0.0 netmask 255.0.0.0 # podsiec dla VPN firmy-kontrahenta
    82 route add -net 10.0.0.0 netmask 255.0.0.0 gw $MODEM_IP
    83 $IPTABLES -t nat -A POSTROUTING -s 10.0.0.0/8 -j ACCEPT
    84 $IPTABLES -t nat -A POSTROUTING -d 10.0.0.0/8 -j ACCEPT
       
    85 $IPTABLES -t nat -A POSTROUTING -o $WAN_ETH -j SNAT --to $WAN_IP
    86 $IPTABLES -t nat -A POSTROUTING -o $WAN_ETH -j SNAT --to $WAN_IP3
    87 $IPTABLES -t nat -A POSTROUTING -o $WAN_ETH -j SNAT --to $WAN_IP2
    88 $IPTABLES -t nat -A POSTROUTING -o $LAN_ETH -j SNAT --to $WAN_IP2
       
    89 #### PRZEKIEROWANIA DNAT - poprzez skrypt /etc/init.d/redir.sh
       
    95        # itcube (nowa baza)
    96 ifconfig eth2:1 down
    97 ifconfig eth2:1 $WAN_IP2 netmask 255.255.255.240 up
    98 $IPTABLES -A PREROUTING -t nat -i $WAN_ETH -d $WAN_IP2 -p tcp --dport 80 -j DNAT --to 192.168.10.198:80
    99 $IPTABLES -A PREROUTING -t nat -i $WAN_ETH -d $WAN_IP2 -p tcp --dport 143 -j DNAT --to 192.168.10.198:143
   100 $IPTABLES -A PREROUTING -t nat -i $WAN_ETH -d $WAN_IP2 -p tcp --dport 443 -j DNAT --to 192.168.10.198:443
       
       
   117 #######################
   118 ### bad_tcp_packets ###
   119 #######################
   120
   121 # loging bad packets
   122 # $IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "New not syn:"
   123 $IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP
   124
   125 ###############
   126 ### allowed ###
   127 ###############
   128
   129 $IPTABLES -A allowed -p TCP --syn -j ACCEPT
   130 $IPTABLES -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
   131 $IPTABLES -A allowed -p TCP -j DROP
   132
   133 ########################
   134 ### opened tcp ports ###
   135 ########################
   136
   137 # ftp
   138 $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 21 -j allowed
   139
   140 # ssh
   141 $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 22 -j allowed
       
   142 # smtp
   143 $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 25 -j allowed
   144 $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 587 -j allowed
       
   145 # dns
   146 DNS_LIMIT_INPUT="6/second"
   150 $IPTABLES -A tcp_packets -p TCP -i $WAN_ETH --dport domain -m limit --limit $DNS_LIMIT_INPUT -j allowed
   151 $IPTABLES -A tcp_packets -p TCP -i $LAN_ETH --dport domain -j allowed
   153
   154 # http
   155 $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 80 -j allowed
   156 $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 81 -j allowed
   157
   158 # pop3/pop3s imap/imaps
   159 $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport pop3 -j allowed
   160 $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport pop3s -j allowed
   161 $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport imap2 -j allowed
   162 $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport imaps -j allowed
       
   163 # samba
   164 $IPTABLES -A tcp_packets -p TCP -s 192.168.10.0/24 -i $LAN_ETH --dport 137:139 -j allowed
   165
   166 # https
   167 $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 443 -j allowed
   168
   169 # cups
   170 #$IPTABLES -A tcp_packets -p TCP -s 192.168.2.0/24 --dport 631 -j allowed
   171
   172 # monit
   173 $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 2812 -j allowed
       
   174    # KONIECZNE DLA REDIR - Bodek, 2009-09-07
   175 # przekierowanie
   176 $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 2999 -j allowed
   177 $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 587 -j allowed
   178 $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 3000 -j allowed
   179 $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 3001 -j allowed
   180 $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 3010 -j allowed
   181 $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 5070 -j allowed
   182 $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 5060 -j allowed
   183 $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 16384:16482 -j allowed
       
   184    # nowe zgloszenia:
   185 $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 7090 -j allowed
   186 $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 7091 -j allowed
       
   187    # tylko do testow dla mnie - Bodek, 2009-09-07
   188 $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 8000 -j allowed
       
   189 # squid
   191 $IPTABLES -A tcp_packets -p TCP -s 192.168.10.0/24 --dport 3128 -j allowed
       
   192 # centralka
   193 $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 5000:5001 -j allowed
       
   196 $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 11000 -j allowed
       
   197 # cos nowego - zgloszone przez tomka
       
       
   207 ########################
   208 ### opened udp ports ###
   209 ########################
       
   210 # dns
   211 $IPTABLES -A udp_packets -p UDP --dport domain -j allowed
   212 ##$IPTABLES -A udp_packets -p UDP -s 0/0 --sport 53 -j allowed
       
   213 # samba
   214 $IPTABLES -A udp_packets -p UDP -s 192.168.10.0/24 -i $LAN_ETH --dport 137:139 -j allowed
       
   215 # bogdan,2009-05-08, dla printserver
   216 $IPTABLES -A udp_packets -p UDP -s 192.168.10.0/24 -i $LAN_ETH --dport 9100 -j allowed
   217 $IPTABLES -A udp_packets -p UDP -s 192.168.10.0/24 -i $LAN_ETH --dport 515 -j allowed
   218 $IPTABLES -A tcp_packets -p TCP -s 192.168.10.0/24 -i $LAN_ETH --dport 9100 -j allowed
   219 $IPTABLES -A tcp_packets -p TCP -s 192.168.10.0/24 -i $LAN_ETH --dport 515 -j allowed
       
   225 #########################################
   226 ### drop DHCP requests from the world ###
   227 #########################################
       
   228 $IPTABLES -A udp_packets -p UDP -i $WAN_ETH -d 255.255.255.255 --destination-port 67:68 -j DROP
       
   229 ####################
   230 ### icmp_packets ###
   231 ####################
       
   232 $IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 8 -j ACCEPT
   233 $IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT
       
   234 #########################
   235 ###### INPUT CHAIN ######
   236 #########################
       
   237 $IPTABLES -A INPUT -j blocked_ips
   238 $IPTABLES -A INPUT -p TCP -j bad_tcp_packets
       
   239 # lo
   240 $IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LO_IP -j ACCEPT
   241 $IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $WAN_IP -j ACCEPT
   242 $IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $WAN_IP3 -j ACCEPT
   243 $IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $WAN_IP2 -j ACCEPT
       
   244 # packets from Internet
   245 $IPTABLES -A INPUT -p ALL -d $WAN_IP -m state --state ESTABLISHED,RELATED -j ACCEPT
   246 $IPTABLES -A INPUT -p ALL -d $WAN_IP3 -m state --state ESTABLISHED,RELATED -j ACCEPT
   247 $IPTABLES -A INPUT -p ALL -d $WAN_IP2 -m state --state ESTABLISHED,RELATED -j ACCEPT
   248 $IPTABLES -A INPUT -p TCP -i $WAN_ETH -j tcp_packets
   249 $IPTABLES -A INPUT -p UDP -i $WAN_ETH -j udp_packets
   250 $IPTABLES -A INPUT -p ICMP -i $WAN_ETH -j icmp_packets
   251 #$IPTABLES -A INPUT -p ICMP -i tun1 -j icmp_packets
       
   252 # DNS
   253 $IPTABLES -A INPUT -p UDP -i $WAN_ETH --dport domain -m state --state NEW -j ACCEPT
   254 $IPTABLES -A INPUT -p TCP -i $WAN_ETH --dport domain -m state --state NEW -j ACCEPT
   255
   256 # packets from LAN
   257 $IPTABLES -A INPUT -p ALL -d $LAN_IP -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
   258 $IPTABLES -A INPUT -p TCP -i $LAN_ETH -j tcp_packets
   259 $IPTABLES -A INPUT -p UDP -i $LAN_ETH -j udp_packets
   260 $IPTABLES -A INPUT -p ICMP -i $LAN_ETH -j icmp_packets
   261
   262 # drop multicats
   263 $IPTABLES -A INPUT -i $WAN_ETH -d 224.0.0.0/8 -j DROP
   264 $IPTABLES -A INPUT -i $LAN_ETH -d 224.0.0.0/8 -j DROP
   265
   269
   270 ###########################
   271 ###### FORWARD CHAIN ######
   272 ###########################
       
   273 $IPTABLES -A FORWARD -i $WAN_ETH -m state --state INVALID -j DROP
   274 $IPTABLES -A FORWARD -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
   275 $IPTABLES -A FORWARD -p TCP -j bad_tcp_packets
   276
   298
   299 ##########################
   300 ###### OUTPUT CHAIN ######
   301 ##########################
   302
   303 $IPTABLES -A OUTPUT -p tcp --sport 1194 -j ACCEPT
   304 $IPTABLES -A OUTPUT -p ICMP  -j ACCEPT
   305 $IPTABLES -A OUTPUT -p TCP -j bad_tcp_packets
   306
   307 $IPTABLES -A OUTPUT -p ALL -s $LO_IP -j ACCEPT
   308 $IPTABLES -A OUTPUT -p ALL -s $WAN_IP -j ACCEPT
   309 $IPTABLES -A OUTPUT -p ALL -s $WAN_IP3 -j ACCEPT
   310 $IPTABLES -A OUTPUT -p ALL -s $WAN_IP2 -j ACCEPT
   311 $IPTABLES -A OUTPUT -p ALL -s $LAN_IP -j ACCEPT
   312
   313 # logging strange packets
   314 # $IPTABLES -A OUTPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT OUTPUT packet died: "
   315
   316 ###########
   317 ### end ###
   318 ###########
   319 }
       
   320 firewall_stop ()
   321 {
   322 $IPTABLES -F
   323 $IPTABLES -X
   324 $IPTABLES -t nat -X
   325 $IPTABLES -t nat -F
   326 $IPTABLES -P INPUT ACCEPT
   327 $IPTABLES -P OUTPUT ACCEPT
   328 $IPTABLES -P FORWARD ACCEPT
   329 }
       
   330 RET=1
       
   331 case "$1" in
   332 start)
   333 echo "Starting Firewall... "
   334 firewall_start
   335 echo "Done"
   336 ;;
       
   337 stop)
   338 echo "Shuting down the Firewall... "
   339 firewall_stop
   340 echo "Done"
   341 ;;
       
   342 force-reload|restart)
   343 echo "Restarting Firewall... "
   344 firewall_stop
   345 firewall_start
   346 echo "Done"
   347 ;;
       
   348 *)
   349        echo "Usage: /etc/init.d/firewall.sh {start|stop|restart|force-reload}"
   350        exit 1
   351        ;;
   352 esac
       
   353 exit $RET
oraz skrypt do przekierowań portów - redir.sh
     1	#!/bin/sh
     2 redir_start ()
     3 {
     4    ZEWN_IP="93.159.1..."
     5    WAN_IP="93.159.1..."     # łącze z Crowley
     6    WAN_IP2="93.159.1..."    # 2. adres IP z Crowley
     7    WAN_IP3="194.181.1..."  # NOWE łącze z NASKu
     8    MODEM_IP="192.168.10.11"  # modem VPN do firmy-kontrahenta
     9    VOIP_IP="192.168.10.80"   # centralka VOIP
    10    KOMP_ICTUBE="192.168.10.198";  # komp. ictube
    11 #    TESTIP="192.168.10.101"   # chwilowe IP komp do moich testow
    12    TESTIP="192.168.10.145"   # chwilowe IP komp do moich testow
       
    13    #    PRZYCHODZACE    DOCELOWY
    14    # serwer wewnetrzny
    15    redir --lport=587 --laddr=$WAN_IP --cport=25 192.168.10.1 &
    16    redir --lport=2999 --laddr=$WAN_IP --cport=2999 --caddr=$KOMP_ICTUBE &
    17    redir --lport=3000 --laddr=$WAN_IP --cport=3000 --caddr=$KOMP_ICTUBE &
    18    redir --lport=3001 --laddr=$WAN_IP --cport=3001 --caddr=$KOMP_ICTUBE &
    19    redir --lport=3010 --laddr=$WAN_IP --cport=3010 --caddr=$KOMP_ICTUBE &
       
    20    redir --lport=7090 --laddr=$WAN_IP --cport=7090 --caddr=$KOMP_ICTUBE &
    21    redir --lport=7091 --laddr=$WAN_IP --cport=7091 --caddr=$KOMP_ICTUBE &
       
    22    # itcube (nowa baza) # nie trzeba bo w firewallu
    23 #    ifconfig eth2:1 down
    24 #    ifconfig eth2:1 $WAN_IP2 netmask 255.255.255.240 up
    25 #    redir --lport=143 --laddr=$WAN_IP2 --cport=143 --caddr=$KOMP_ICTUBE & # imap
    26 #    redir --lport=443 --laddr=$WAN_IP2 --cport=8443 --caddr=$KOMP_ICTUBE &
    27 #    redir --lport=80 --laddr=$WAN_IP2 --cport=8080 --caddr=$KOMP_ICTUBE &
       
    28    # centralka tel. VOIP - byc moze juz zbedne
    29    redir --lport=5060 --laddr=$WAN_IP3 --cport=5060 --caddr=$VOIP_IP &
       
    30    # jakies stare
    31 # redir --lport=5070 --laddr=$WAN_IP --cport=5060 --caddr=192.168.10.66 &
       
       
    39 }
       
    40 redir_stop ()
    41 {
    42 killall -9 redir
    43 }
       
    44 RET=1
       
    45 case "$1" in
    46 start)
    47 echo "Starting redirections... "
    48 redir_start
    49 echo "Done"
    50 ;;
       
    51 stop)
    52 echo "Shuting down redirections... "
    53 redir_stop
    54 echo "Done"
    55 ;;
       
    56 force-reload|restart)
    57 echo "Restarting redirections... "
    58 redir_stop
    59 redir_start
    60 echo "Done"
    61 ;;
       
    62 *)
    63        echo "Usage: /etc/init.d/redir.sh {start|stop|restart|force-reload}"
    64        exit 1
    65        ;;
    66 esac
       
    67 exit $RET
# iptables -L
Chain INPUT (policy DROP)
num  target     prot opt source               destination        
1    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:1194
2    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0          
3    blocked_ips  all  --  0.0.0.0/0            0.0.0.0/0          
4    bad_tcp_packets  tcp  --  0.0.0.0/0            0.0.0.0/0          
5    ACCEPT     all  --  127.0.0.1            0.0.0.0/0          
6    ACCEPT     all  --  WAN-IP1         0.0.0.0/0          
7    ACCEPT     all  --  WAN-IP3       0.0.0.0/0          
8    ACCEPT     all  --  WAN-IP2         0.0.0.0/0          
9    ACCEPT     all  --  0.0.0.0/0            WAN-IP1        state RELATED,ESTABLISHED
10   ACCEPT     all  --  0.0.0.0/0            WAN-IP3      state RELATED,ESTABLISHED
11   ACCEPT     all  --  0.0.0.0/0            WAN-IP2        state RELATED,ESTABLISHED
12   tcp_packets  tcp  --  0.0.0.0/0            0.0.0.0/0          
13   udp_packets  udp  --  0.0.0.0/0            0.0.0.0/0          
14   icmp_packets  icmp --  0.0.0.0/0            0.0.0.0/0          
15   ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:53 state NEW
16   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:53 state NEW
17   ACCEPT     all  --  0.0.0.0/0            192.168.10.1        state NEW,RELATED,ESTABLISHED
18   tcp_packets  tcp  --  0.0.0.0/0            0.0.0.0/0          
19   udp_packets  udp  --  0.0.0.0/0            0.0.0.0/0          
20   icmp_packets  icmp --  0.0.0.0/0            0.0.0.0/0          
21   DROP       all  --  0.0.0.0/0            224.0.0.0/8        
22   DROP       all  --  0.0.0.0/0            224.0.0.0/8        

Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination        
1    ACCEPT     all  --  0.0.0.0/0            WAN-IP3      
2    ACCEPT     all  --  WAN-IP3       0.0.0.0/0          
3    ACCEPT     all  --  0.0.0.0/0            WAN-IP2        
4    ACCEPT     all  --  WAN-IP2         0.0.0.0/0          
5    ACCEPT     all  --  0.0.0.0/0            10.3.0.2            
6    ACCEPT     all  --  10.3.0.2             0.0.0.0/0          
7    ACCEPT     tcp  --  0.0.0.0/0            IP_ITCUBE_192.168.10.198      state NEW tcp dpt:3010
8    ACCEPT     tcp  --  0.0.0.0/0            IP_ITCUBE_192.168.10.198      state NEW tcp dpt:80
9    ACCEPT     udp  --  0.0.0.0/0            IP_VOIP_192.168.10.80       state NEW udp dpt:5060
10   ACCEPT     udp  --  0.0.0.0/0            IP_VOIP_192.168.10.80       state NEW multiport dports 16384:16482
11   ACCEPT     tcp  --  0.0.0.0/0            IP_ITCUBE_192.168.10.198      state NEW tcp dpt:80
12   DROP       all  --  0.0.0.0/0            0.0.0.0/0           state INVALID
13   ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state NEW,RELATED,ESTABLISHED
14   bad_tcp_packets  tcp  --  0.0.0.0/0            0.0.0.0/0          

Chain OUTPUT (policy DROP)
num  target     prot opt source               destination        
1    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp spt:1194
2    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0          
3    bad_tcp_packets  tcp  --  0.0.0.0/0            0.0.0.0/0          
4    ACCEPT     all  --  127.0.0.1            0.0.0.0/0          
5    ACCEPT     all  --  WAN-IP1         0.0.0.0/0          
6    ACCEPT     all  --  WAN-IP3       0.0.0.0/0          
7    ACCEPT     all  --  WAN-IP2         0.0.0.0/0          
8    ACCEPT     all  --  192.168.10.1         0.0.0.0/0          

Chain allowed (35 references)
num  target     prot opt source               destination        
1    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp flags:0x17/0x02
2    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
3    DROP       tcp  --  0.0.0.0/0            0.0.0.0/0          

Chain bad_tcp_packets (3 references)
num  target     prot opt source               destination        
1    DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp flags:!0x17/0x02 state NEW

Chain blocked_ips (1 references)
num  target     prot opt source               destination        

Chain icmp_packets (2 references)
num  target     prot opt source               destination        
1    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           icmp type 8
2    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           icmp type 11

Chain nat (0 references)
num  target     prot opt source               destination        

Chain tcp_packets (2 references)
num  target     prot opt source               destination        
1    allowed    tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:21
2    allowed    tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:22
3    allowed    tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:25
4    allowed    tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:587
5    allowed    tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:53 limit: avg 6/sec burst 5
6    allowed    tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:53
7    allowed    tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80
8    allowed    tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:81
9    allowed    tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:110
10   allowed    tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:995
11   allowed    tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:143
12   allowed    tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:993
13   allowed    tcp  --  192.168.10.0/24      0.0.0.0/0           tcp dpts:137:139
14   allowed    tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:443
15   allowed    tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:2812
16   allowed    tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:2999
17   allowed    tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:587
18   allowed    tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:3000
19   allowed    tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:3001
20   allowed    tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:3010
21   allowed    tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:5070
22   allowed    tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:5060
23   allowed    tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpts:16384:16482
24   allowed    tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:7090
25   allowed    tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:7091
26   allowed    tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:8000
27   allowed    tcp  --  192.168.10.0/24      0.0.0.0/0           tcp dpt:3128
28   allowed    tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpts:5000:5001
29   allowed    tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:11000
30   allowed    tcp  --  192.168.10.0/24      0.0.0.0/0           tcp dpt:9100
31   allowed    tcp  --  192.168.10.0/24      0.0.0.0/0           tcp dpt:515

Chain udp_packets (2 references)
num  target     prot opt source               destination        
1    allowed    udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:53
2    allowed    udp  --  192.168.10.0/24      0.0.0.0/0           udp dpts:137:139
3    allowed    udp  --  192.168.10.0/24      0.0.0.0/0           udp dpt:9100
4    allowed    udp  --  192.168.10.0/24      0.0.0.0/0           udp dpt:515
5    DROP       udp  --  0.0.0.0/0            255.255.255.255     udp dpts:67:68
iptables -L nat
Chain PREROUTING (policy ACCEPT)
num  target     prot opt source               destination        
1    DNAT       tcp  --  0.0.0.0/0            WAN-IP1        tcp dpt:3010 to:IP_ITCUBE_192.168.10.198:3010
2    DNAT       tcp  --  0.0.0.0/0            WAN-IP2        tcp dpt:80 to:IP_ITCUBE_192.168.10.198:80
3    DNAT       tcp  --  0.0.0.0/0            WAN-IP2        tcp dpt:143 to:IP_ITCUBE_192.168.10.198:143
4    DNAT       tcp  --  0.0.0.0/0            WAN-IP2        tcp dpt:443 to:IP_ITCUBE_192.168.10.198:443
5    DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:5060 to:IP_VOIP_192.168.10.80:5060
6    DNAT       udp  --  0.0.0.0/0            WAN-IP2        udp dpt:80 to:IP_ITCUBE_192.168.10.198:80
7    DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16384 to:IP_VOIP_192.168.10.80:16384
8    DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16385 to:IP_VOIP_192.168.10.80:16385
9    DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16386 to:IP_VOIP_192.168.10.80:16386
10   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16387 to:IP_VOIP_192.168.10.80:16387
11   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16388 to:IP_VOIP_192.168.10.80:16388
12   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16389 to:IP_VOIP_192.168.10.80:16389
13   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16390 to:IP_VOIP_192.168.10.80:16390
14   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16391 to:IP_VOIP_192.168.10.80:16391
15   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16392 to:IP_VOIP_192.168.10.80:16392
16   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16393 to:IP_VOIP_192.168.10.80:16393
17   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16394 to:IP_VOIP_192.168.10.80:16394
18   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16395 to:IP_VOIP_192.168.10.80:16395
19   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16396 to:IP_VOIP_192.168.10.80:16396
20   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16397 to:IP_VOIP_192.168.10.80:16397
21   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16398 to:IP_VOIP_192.168.10.80:16398
22   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16399 to:IP_VOIP_192.168.10.80:16399
23   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16400 to:IP_VOIP_192.168.10.80:16400
24   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16401 to:IP_VOIP_192.168.10.80:16401
25   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16402 to:IP_VOIP_192.168.10.80:16402
26   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16403 to:IP_VOIP_192.168.10.80:16403
27   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16404 to:IP_VOIP_192.168.10.80:16404
28   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16405 to:IP_VOIP_192.168.10.80:16405
29   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16406 to:IP_VOIP_192.168.10.80:16406
30   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16407 to:IP_VOIP_192.168.10.80:16407
31   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16408 to:IP_VOIP_192.168.10.80:16408
32   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16409 to:IP_VOIP_192.168.10.80:16409
33   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16410 to:IP_VOIP_192.168.10.80:16410
34   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16411 to:IP_VOIP_192.168.10.80:16411
35   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16412 to:IP_VOIP_192.168.10.80:16412
36   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16413 to:IP_VOIP_192.168.10.80:16413
37   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16414 to:IP_VOIP_192.168.10.80:16414
38   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16415 to:IP_VOIP_192.168.10.80:16415
39   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16416 to:IP_VOIP_192.168.10.80:16416
40   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16417 to:IP_VOIP_192.168.10.80:16417
41   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16418 to:IP_VOIP_192.168.10.80:16418
42   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16419 to:IP_VOIP_192.168.10.80:16419
43   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16420 to:IP_VOIP_192.168.10.80:16420
44   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16421 to:IP_VOIP_192.168.10.80:16421
45   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16422 to:IP_VOIP_192.168.10.80:16422
46   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16423 to:IP_VOIP_192.168.10.80:16423
47   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16424 to:IP_VOIP_192.168.10.80:16424
48   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16425 to:IP_VOIP_192.168.10.80:16425
49   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16426 to:IP_VOIP_192.168.10.80:16426
50   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16427 to:IP_VOIP_192.168.10.80:16427
51   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16428 to:IP_VOIP_192.168.10.80:16428
52   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16429 to:IP_VOIP_192.168.10.80:16429
53   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16430 to:IP_VOIP_192.168.10.80:16430
54   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16431 to:IP_VOIP_192.168.10.80:16431
55   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16432 to:IP_VOIP_192.168.10.80:16432
56   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16433 to:IP_VOIP_192.168.10.80:16433
57   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16434 to:IP_VOIP_192.168.10.80:16434
58   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16435 to:IP_VOIP_192.168.10.80:16435
59   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16436 to:IP_VOIP_192.168.10.80:16436
60   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16437 to:IP_VOIP_192.168.10.80:16437
61   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16438 to:IP_VOIP_192.168.10.80:16438
62   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16439 to:IP_VOIP_192.168.10.80:16439
63   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16440 to:IP_VOIP_192.168.10.80:16440
64   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16441 to:IP_VOIP_192.168.10.80:16441
65   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16442 to:IP_VOIP_192.168.10.80:16442
66   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16443 to:IP_VOIP_192.168.10.80:16443
67   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16444 to:IP_VOIP_192.168.10.80:16444
68   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16445 to:IP_VOIP_192.168.10.80:16445
69   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16446 to:IP_VOIP_192.168.10.80:16446
70   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16447 to:IP_VOIP_192.168.10.80:16447
71   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16448 to:IP_VOIP_192.168.10.80:16448
72   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16449 to:IP_VOIP_192.168.10.80:16449
73   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16450 to:IP_VOIP_192.168.10.80:16450
74   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16451 to:IP_VOIP_192.168.10.80:16451
75   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16452 to:IP_VOIP_192.168.10.80:16452
76   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16453 to:IP_VOIP_192.168.10.80:16453
77   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16454 to:IP_VOIP_192.168.10.80:16454
78   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16455 to:IP_VOIP_192.168.10.80:16455
79   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16456 to:IP_VOIP_192.168.10.80:16456
80   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16457 to:IP_VOIP_192.168.10.80:16457
81   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16458 to:IP_VOIP_192.168.10.80:16458
82   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16459 to:IP_VOIP_192.168.10.80:16459
83   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16460 to:IP_VOIP_192.168.10.80:16460
84   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16461 to:IP_VOIP_192.168.10.80:16461
85   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16462 to:IP_VOIP_192.168.10.80:16462
86   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16463 to:IP_VOIP_192.168.10.80:16463
87   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16464 to:IP_VOIP_192.168.10.80:16464
88   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16465 to:IP_VOIP_192.168.10.80:16465
89   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16466 to:IP_VOIP_192.168.10.80:16466
90   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16467 to:IP_VOIP_192.168.10.80:16467
91   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16468 to:IP_VOIP_192.168.10.80:16468
92   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16469 to:IP_VOIP_192.168.10.80:16469
93   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16470 to:IP_VOIP_192.168.10.80:16470
94   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16471 to:IP_VOIP_192.168.10.80:16471
95   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16472 to:IP_VOIP_192.168.10.80:16472
96   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16473 to:IP_VOIP_192.168.10.80:16473
97   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16474 to:IP_VOIP_192.168.10.80:16474
98   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16475 to:IP_VOIP_192.168.10.80:16475
99   DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16476 to:IP_VOIP_192.168.10.80:16476
100  DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16477 to:IP_VOIP_192.168.10.80:16477
101  DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16478 to:IP_VOIP_192.168.10.80:16478
102  DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16479 to:IP_VOIP_192.168.10.80:16479
103  DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16480 to:IP_VOIP_192.168.10.80:16480
104  DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16481 to:IP_VOIP_192.168.10.80:16481
105  DNAT       udp  --  0.0.0.0/0            WAN-IP3      udp dpt:16482 to:IP_VOIP_192.168.10.80:16482
106  DNAT       tcp  --  0.0.0.0/0            WAN-IP2        tcp dpt:80 to:IP_ITCUBE_192.168.10.198:80
107  DNAT       tcp  --  0.0.0.0/0            WAN-IP2        tcp dpt:143 to:IP_ITCUBE_192.168.10.198:143
108  DNAT       tcp  --  0.0.0.0/0            WAN-IP2        tcp dpt:443 to:IP_ITCUBE_192.168.10.198:443

Chain POSTROUTING (policy ACCEPT)
num  target     prot opt source               destination        
1    SNAT       all  --  192.168.10.145       0.0.0.0/0           to:WAN-IP3
2    SNAT       all  --  IP_VOIP_192.168.10.80        0.0.0.0/0           to:WAN-IP3
3    SNAT       all  --  192.168.10.11        0.0.0.0/0           to:WAN-IP3
4    ACCEPT     all  --  10.0.0.0/8           0.0.0.0/0          
5    ACCEPT     all  --  0.0.0.0/0            10.0.0.0/8          
6    SNAT       all  --  0.0.0.0/0            0.0.0.0/0           to:WAN-IP1
7    SNAT       all  --  0.0.0.0/0            0.0.0.0/0           to:WAN-IP3
8    SNAT       all  --  0.0.0.0/0            0.0.0.0/0           to:WAN-IP2
9    SNAT       all  --  0.0.0.0/0            0.0.0.0/0           to:WAN-IP2

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination
iptables -L -t mangle
Chain PREROUTING (policy ACCEPT)
num  target     prot opt source               destination        

Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination        

Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination        

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination        

Chain POSTROUTING (policy ACCEPT)
num  target     prot opt source               destination
sory, że tak mocno zarzuciłem treścią - chciałem maksymalnie pokazać aktualny stan czyli wybrane kompy wychodzą przez pierwsze łącze (WAN_IP1) a na www w necie widoczne są jako WAN_IP3 zamiast wyłącznie WAN_IP3

Bogdan.

  • Gość
Kilka pytań odnośnie 2xWAN + 1xLAN
« Odpowiedź #5 dnia: 2011-03-26, 15:28:21 »
Witaj(cie)
W domu spreparowałem sobie specjalnie sieć na wzór firmy, na czystym serwerze, bez firewalli
z konfig. sieci /etc/network/interfaces:
# brama dla LAN
auto eth1
iface eth1 inet static
    address 192.168.10.1
    netmask 255.255.255.0
    network 192.168.10.0
    broadcast 192.168.10.255


# WAN pierwszy - glowny  .123
auto eth2
iface eth2 inet static
    address 192.168.123.101
    netmask 255.255.255.0
    network 192.168.123.0
    broadcast 192.168.123.255
    gateway 192.168.123.1

# WAN drugi
auto eth2:2
iface eth2:2 inet static
    address 192.168.0.101
    netmask 255.255.255.0
    network 192.168.0.0
    broadcast 192.168.0.255
    gateway 192.168.0.1
Wklepałem kolejno:
root@ubuntu:~# iptables -t mangle -A PREROUTING -s 192.168.10.0/24 -j MARK --set-mark 1
root@ubuntu:~# iptables -t mangle -A PREROUTING -s 192.168.10.10 -j MARK --set-mark 2
root@ubuntu:~# iptables -t nat -A POSTROUTING -m mark --mark 1 -j SNAT --to-source 192.168.123.101
root@ubuntu:~# iptables -t nat -A POSTROUTING -m mark --mark 2 -j SNAT --to-source 192.168.0.101
root@ubuntu:~# ip route add default via 192.168.123.1 dev eth2 table WAN1
root@ubuntu:~# ip rule add fwmark 1 table WAN1
root@ubuntu:~# ip route add default via 192.168.0.101 dev eth2:2 table WAN2

- zwrócił błąd:
Warning: weird character in interface `eth2:2' (No aliases, :, ! or *).
więc:
root@ubuntu:~# ip route add default via 192.168.0.101 dev eth2 table WAN2

root@ubuntu:~# ip rule add fwmark 2 table WAN2
i efekt jest taki, że dla komp. z mark1 - działa ok ale dla mark2 (tu komp. 192.168.10.10) niestety zwraca:
root@wlanie:~# ping wp.pl
ping: unknown host wp.pl
root@wlanie:~# ping 212.77.100.101
PING 212.77.100.101 (212.77.100.101) 56(84) bytes of data.
From 192.168.0.101 icmp_seq=2 Destination Host Unreachable
From 192.168.0.101 icmp_seq=3 Destination Host Unreachable
From 192.168.0.101 icmp_seq=4 Destination Host Unreachable
From 192.168.0.101 icmp_seq=5 Destination Host Unreachable
From 192.168.0.101 icmp_seq=6 Destination Host Unreachable
From 192.168.0.101 icmp_seq=7 Destination Host Unreachable
192.168.0.101 to IP serwera rutującego

oczywiście:
root@wlanie:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.10.0    *               255.255.255.0   U     0      0        0 eth0
default         192.168.10.1    0.0.0.0         UG    0      0        0 eth0

root@wlanie:~# ping 192.168.10.1
PING 192.168.10.1 (192.168.10.1) 56(84) bytes of data.
64 bytes from 192.168.10.1: icmp_seq=1 ttl=64 time=0.832 ms
64 bytes from 192.168.10.1: icmp_seq=2 ttl=64 time=0.762 ms
64 bytes from 192.168.10.1: icmp_seq=3 ttl=64 time=0.894 ms
a jakby co na serwerze rutującym:
root@ubuntu:~# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination


root@ubuntu:~# iptables -L -t nat
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
SNAT       all  --  anywhere             anywhere            mark match 0x1 to:192.168.123.101
SNAT       all  --  anywhere             anywhere            mark match 0x2 to:192.168.0.101

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination


root@ubuntu:~# iptables -L -t mangle
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
MARK       all  --  192.168.10.0/24      anywhere            MARK xset 0x1/0xffffffff
MARK       all  --  192.168.10.10        anywhere            MARK xset 0x2/0xffffffff

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination


root@ubuntu:~# ip ro sh
192.168.0.0/24 dev eth2  proto kernel  scope link  src 192.168.0.101
192.168.10.0/24 dev eth1  proto kernel  scope link  src 192.168.10.1
192.168.123.0/24 dev eth2  proto kernel  scope link  src 192.168.123.101
default via 192.168.0.1 dev eth2  src 192.168.0.101  metric 100
default via 192.168.123.1 dev eth2  metric 100

root@ubuntu:~# ip ru sh
0:      from all lookup local
32764:  from all fwmark 0x2 lookup WAN2
32765:  from all fwmark 0x1 lookup WAN1
32766:  from all lookup main
32767:  from all lookup default


root@ubuntu:~# tcpdump -i eth2 -n -t not port 22

ARP, Request who-has 212.77.100.101 tell 192.168.0.101, length 28
ARP, Request who-has 212.77.100.101 tell 192.168.0.101, length 28
ARP, Request who-has 212.77.100.101 tell 192.168.0.101, length 28
ARP, Request who-has 212.77.100.101 tell 192.168.0.101, length 28
ARP, Request who-has 212.77.100.101 tell 192.168.0.101, length 28
ARP, Request who-has 212.77.100.101 tell 192.168.0.101, length 28
ARP, Request who-has 212.77.100.101 tell 192.168.0.101, length 28
ARP, Request who-has 212.77.100.101 tell 192.168.0.101, length 28
ARP, Request who-has 212.77.100.101 tell 192.168.0.101, length 28
ARP, Request who-has 212.77.100.101 tell 192.168.0.101, length 28
ARP, Request who-has 212.77.100.101 tell 192.168.0.101, length 28
ARP, Request who-has 212.77.100.101 tell 192.168.0.101, length 28
ARP, Request who-has 212.77.100.101 tell 192.168.0.101, length 28
ARP, Request who-has 212.77.100.101 tell 192.168.0.101, length 28
ARP, Request who-has 212.77.100.101 tell 192.168.0.101, length 28
ARP, Request who-has 212.77.100.101 tell 192.168.0.101, length 28
ARP, Request who-has 212.77.100.101 tell 192.168.0.101, length 28
przypuszczałem, że może iptables'owi nie podobało się "-s 192.168.10.10", jakby koniecznie czekał na sieć a nie IP :-| jednak sprawdzałem również dla drugiej podsieci zamiast IP - niestety to samo. :-(

Przed chwilą wrzuciłem skrypt markujący pakiety (zamieszczony Pawła Kraszewskiego) i częściowo zaczęło działać - tracert z komp. przekierowanego zaczął wychodzić przez właściwe (drugie łącze), jednak WWW tam padło i ogólnie pewnie wszystko pogryzło się z istniejącym firewallem.

Jeśli ktokolwiek (szczególne ukłony dla pkraszewskiego :-) potrafiłby pomóc, podpowiedzieć które linie powinienem zmodyfikować w firewallu - będę wdzięczny (no i może szef mi czegoś nie urwie 8-| )

Słonik1963

  • Gość
Kilka pytań odnośnie 2xWAN + 1xLAN
« Odpowiedź #6 dnia: 2011-03-28, 00:03:19 »
Może się mylę, jednak - jak masz skonfigurowany router?
Z tego co piszesz - to od dwu dostawców wprowadzasz WLAN na ten sam router.
Istnieją różne konfiguracje routingu - dlatego pytam.

Może (nie jestem specem od sieci - zatem próbuję zgadywać) - powinieneś dostawić/podzielić dostęp z sieci zewnętrznej dla tych komputerów, które zamierzasz odciążyć - poprzez dodanie drugiego routera.

Bogdan.

  • Gość
Kilka pytań odnośnie 2xWAN + 1xLAN
« Odpowiedź #7 dnia: 2011-03-29, 17:15:16 »
routing - tak jak wcześniej pisany ustawiony automatem przez wpis w /etc/network/interfaces (serwer na ubuntu 10.2)
wraz z metryką 20 -nowe łącze, a 10 -stare, główne
a fizycznie wygląda to tak, że od dwóch dostawców wchodzą 2 łącza do najzwyklejszego switcha a z niego jednym kablem do serwera (karta eth2) - aktualnie nie bawię się w żadne VLANy.
A powinienem?
W jaki sposób podszedłbyś/podeszlibyście do tego tematu i czy ktoś z forumowiczów miał do czynienia z takim zagadnieniem?
Wszelkie uwagi/sugestie/podpowiedzi chętnie bym poznał.

Nie mogę postawić drugiego routera ani rozpiąć sieci na dwie fizyczne podsieci - szef mi się nie zgodzi, z resztą cały myk ma na tym polegać
dlatego próbuję ustawić routing dla wybranych kilku komp. (wg ich IP, nie podsieci)

Propozycja pkraszewskiego coś tam zaczęła działać, ale jeszcze muszę uważnie potestować i przerobić firewalla (może to wystarczy) aby nie robił totalnego chaosu w sieci.
Dzisiaj wreszcie zrobiłem testy niestety utraciłem łączność z serwerem (zdalnym - firmowym), gdy się obudzi będę mógł zobaczyć czemu straciłem łączność z obu łączy :-(
Na symulacji sieci firmowej przeprowadziłem ten sam test - UDAŁO SIĘ
przyczyna była taka, że dla ładnego zresetowania routingu tuż przed ustawieniem nowego kasowałem domyślne bramy
ip ro del default via 192.168.123.1   # <- to było bez potrzeby
ip route add default via 192.168.123.1 dev eth2 table WAN1
ip rule add fwmark 1 table WAN1

#ip route add default via AdresBramyWan2 dev eth2:2 table WAN2
ip ro del default via 192.168.0.1   # <- to było bez potrzeby
ip route add default via 192.168.0.1 dev eth2 table WAN2
ip rule add fwmark 2 table WAN2
192.168.123.1 i 92.168.0.1 to IP bram w testowej sieci.

Jeszcze tylko zostało przekonfigurować firmowego firewalla (bo w sieci testowej nie odpalałem firmowego firewalla) i przede wszystkim sprawdzić czy dobrze działają przekierowania - czyli czy zadziała bramka VOIP przestawiona na nowe łącze.

Dzięki pkraszewski za podpowiedź oraz Słonik1963 za swój głos.


Pozdrawiam wszystkich zainteresowanych

Bogdan.

  • Gość
Kilka pytań odnośnie 2xWAN + 1xLAN
« Odpowiedź #8 dnia: 2011-04-06, 08:24:38 »
Witajcie

JEDNAK LIPA :-(

Efekt markowania jest taki, że jak pinguje lub tracerout'uje z tych wybranych maszyn wychodzi prawidłowo - przez drugie (nowe) łącze.
Wygląda na to, że ruch jakby nie potrafi właściwie wrócić, mimo że (na tracercie i www w internecie) pokazuje zew. IP.

Mam pytanie - czy powinienem również ustawić markowanie dla połączeń przychodzących i użyć ten sam numer markowania (adekwatny) jak przy wychodzących, czy raczej dwa nowe numery. Jak powinno wyglądać wówczas markowanie?

Przypomnę, jednym z komp. przepuszczanym przez 2. łącze jest bramka voip, która po wczytaniu skryptu markowania (tego co powyżej) nie działa prawidłowo. :-( - przy dzwonieniu z zewnątrz w słuchawce dzwoniącego jest cisza zamiast zapowiedzi.