Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2013-03-21 16:14:58

  Nicram - Użytkownik

Nicram
Użytkownik
Zarejestrowany: 2006-03-28

ipsec między hostami.

Witam.
Muszę zestawić tunel ipsec pomiędzy hostami w jednej sieci. wcześniej nie miałem okazji bawić się takimi tunelami i nie chodzi o żadnego vpn'a. chcę poprostu mieć szyfrowane połączenie pomiędzy hostami.
zainstalowałem racoon'a skonfigurowałem go według kilku opisów z google i du...a. tunel mi nie wstaje, ogólnie nie działa :(

Kod:

root@alix:/etc/racoon# cat racoon.conf 
#
# NOTE: This file will not be used if you use racoon-tool(8) to manage your
# IPsec connections. racoon-tool will process racoon-tool.conf(5) and
# generate a configuration (/var/lib/racoon/racoon.conf) and use it, instead
# of this file.
#
# Simple racoon.conf
# 
#
# Please look in /usr/share/doc/racoon/examples for
# examples that come with the source.
#
# Please read racoon.conf(5) for details, and alsoread setkey(8).
#
#
# Also read the Linux IPSEC Howto up at 
# http://www.ipsec-howto.org/t1.html 
#

path pre_shared_key "/etc/racoon/psk.txt";
#path certificate "/etc/racoon/certs";



remote 172.21.7.57
{
        exchange_mode main;
        proposal {
                encryption_algorithm 3des;
                hash_algorithm md5;
                authentication_method pre_shared_key;
                dh_group modp1024;
        }
}


sainfo address 172.21.7.57 any address 172.21.7.15 any
{
        pfs_group modp768;
        encryption_algorithm 3des;
        authentication_algorithm hmac_md5;
        compression_algorithm deflate;
}


root@alix:/etc/racoon# cat racoon-tool.conf 
#
# Configuration file for racoon-tool
#
# See racoon-tool.conf(5) for details
#

# How to control the syslog level
global:
        log: notify



#peer(10.0.0.1):
#       verify_cert: on
#       passive: off
#       verify_identifier: off
#       lifetime: time 60 min
#       hash_algorithm[0]: sha1
#       encryption_algorithm[0]: 3des
##      my_identifier: fqdn  backdoor.foo.bar
##      peers_identifier: fqdn garden-path.foo.bar 
##      certificate_type: x509 bLaH.pem PrIv.pem

root@alix:/etc/racoon# cat /etc/ipsec-tools.conf 
#!/usr/sbin/setkey -f

# NOTE: Do not use this file if you use racoon with racoon-tool
# utility. racoon-tool will setup SAs and SPDs automatically using
# /etc/racoon/racoon-tool.conf configuration.
# 

## Flush the SAD and SPD
#
 flush;
 spdflush;

spdadd 172.21.7.15 172.21.7.57 any -P in ipsec esp/transport/require ah/transport//require;
spdadd 172.21.7.57 172.21.7.15 any -P out  ipsec esp/transport//require ah/transport//require;


root@alix:/etc/racoon#

może ma ktoś jakieś małe krótkie how to, jak to poprawnie skonfigurować?
z góry wielkie dzięki.

Offline

 

#2  2013-03-21 17:03:31

  jurgensen - Użytkownik

jurgensen
Użytkownik
Skąd: Wrocław
Zarejestrowany: 2010-01-26

Re: ipsec między hostami.

Najlepiej byłoby, gdybyś zamieścił topologię sieci z adresami (nawet jeśli są to tylko dwa hosty) oraz pliki konfiguracyjne dwóch końców tunelu oraz logi. Z tego, co widzę, w konfiguracji mieszasz obydwa końce, np:

remote 172.21.7.57
...
sainfo address 172.21.7.57 any address 172.21.7.15 any

gdzie manual do racoon.conf określa:

sainfo (local_id | anonymous) (remote_id | clientaddr | anonymous) [from idtype [string]] [group string] { statements }[/quote]
Czyli pierwsze powinno być local_id a nie remote.

Łącząc tylko dwa hosty, bez podsieci powinieneś użyć trybu transportowego. Przykład takiej konfiguracji znajdziesz tu: [url]http://www.infond.fr/2010/04/basics-9-tutorial-ipsec-transport-mode.html[/url]

Ostatnio edytowany przez jurgensen (2013-03-21 17:03:56)

Offline

 

#3  2013-03-21 20:20:10

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: ipsec między hostami.

Ja bym radził pociagnąć zamiast Racoona, Strongswana, na stronie Strongswana masz gotowe przepisy z obrazkami i konfigami ;)

Sznurek:
http://www.strongswan.org/testresults4.html

Ostatnio edytowany przez Jacekalex (2013-03-21 20:20:49)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#4  2013-03-21 20:54:29

  Nicram - Użytkownik

Nicram
Użytkownik
Zarejestrowany: 2006-03-28

Re: ipsec między hostami.

[quote=jurgensen]Łącząc tylko dwa hosty, bez podsieci powinieneś użyć trybu transportowego. Przykład takiej konfiguracji znajdziesz tu: [url]http://www.infond.fr/2010/04/basics-9-tutorial-ipsec-transport-mode.html[/url][/quote]
Dzięki za zwrócenie uwagi. Rzeczywiście porąbałem strony, a ten link super. teraz działa :)

@Jacekalex, dzięki za sugestie, zapewne też tym się pobawię. swego czasu na strongswanie robiłem l2tp/ipsec ale to były dawne czasy, że aż nie prawda.
tak ogólnie, co jest lepsze, racoon czy strongswan?

Offline

 

#5  2013-03-21 21:08:16

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: ipsec między hostami.

Ja stawialem tylko Strongswana, raz nie mogłem z Racoonem dojść do ładu, nie chcial chodzić, Strongswana wg dokumentacji z wiki postawiłem w pół godziny i działał.

Chociaż osobiście, jak  jest możliwość, to zazwyczaj proponuję OpenVPN, i tylko raz ktoś się uparł na Ipseca.
Zaletą było to, że Windowsy łyknęły wsio bez najmniejszego problemu i dodatkowego softu.
Robilem wg tego:
http://wiki.strongswan.org/projects/strongswan/wiki/Win7EapMultipleConfig

W każdym razie nie było to szczególnie trudne, sam się zdziwiłem, że tak lekko poszło.

Ostatnio edytowany przez Jacekalex (2013-03-21 21:33:20)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#6  2013-03-22 20:19:09

  Nicram - Użytkownik

Nicram
Użytkownik
Zarejestrowany: 2006-03-28

Re: ipsec między hostami.

Witam ponownie.
Trochę się pobawiłem oboma rozwiazaniami. Z jednej strony strongswan jest "lepiej" udokumentowany w przykładach, z drugiej racoon+setkey wydaje się być łatwiejszy, aczkolwiek oba prowadzą do tego samego i chyba skłonie się do strongswana.

Chcę teraz połączyć odległe sieci w jedną. w obu lokalizacjach załóżmy że jest ta sama sieć 192.168.0.0/24, bramy połączone ipsec'iem. ze względu na brak możliwości przeadresowywania sieci w jednej lokalizacji będzie serwer dhcp, z którego hosty w drugiej lokalizacji będą pobierać adresy.
Chcę uzyskać coś w stylu bridge w OpenVPN, czyli cały ruch l2 ma "przechodzić" do drugiej lokalizacji łącznie z broadcastem i multicastem.

Kod:

                                                   RGW1                    RGW2
(sieć 192.168.0.0/24)---[eth1:192.168.0.1--eth0:1.2.3.4.5]===inet===[eth0:6.7.8.9--eth1:192.168.0.2]---(sieć 192.168.0.0/24)

chcę osiągnąć bridgea pomiędzy eth1 na RGW1 i eth1 RGW2 a nie mogę znaleźć exampla do tego rozwiązania :/
może ktoś podzieli się przykładem? z góry dzięki

Offline

 

#7  2013-03-22 21:05:33

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: ipsec między hostami.

Kod:

leftsubnet=0.0.0.0/0

Wszystko powinno iść przez vpna po zestawieniu tunelu.
Choć ja bym robił różne podsieci na obu końcach tunelu, żeby sobie życia nie utrudniać.

Strongswan ma tą zaletę, ze lepiej radzi sobie z NAT po stronie klienta.

Choć np w sieciach 3g Ery lub Aero w ogóle nie dało się odpalić Ipseca, i trza było pogodzić się z OpenVPN.
Tak się skończyła przygoda mojego pacjenta z Ipseciem (na którego się uparł) :D

Po prostu słabość Ipseca polega na tym, że po obu stronach musisz mieć otwarte porty, routety muszą być "ipsec passtrought" i w ogóle w różnych dziwnych miejscach sieciowych (np hotspot) ciężko z nim dojść do ładu.
Za to OpenVPN chodzi jak każda usługa ssl, nie wymaga żadnych kombinacji z ustawieniami sieci i firewalla po stronie klienta,
i wymaga tylko jednego otwartego portu na serwerze.

Ostatnio edytowany przez Jacekalex (2013-03-22 21:09:03)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#8  2013-03-22 21:10:26

  Nicram - Użytkownik

Nicram
Użytkownik
Zarejestrowany: 2006-03-28

Re: ipsec między hostami.

[quote=Jacekalex]

Kod:

leftsubnet=0.0.0.0/0

Wszystko powinno iść przez vpna po zestawieniu tunelu.[/quote]
hmm, L3 tak, a L2 i multicast?

[quote=Jacekalex]Za to OpenVPN chodzi jak każda usługa ssl, nie wymaga żadnych kombinacji z ustawieniami sieci i firewalla po stronie klienta,
i wymaga tylko jednego otwartego portu na serwerze.[/quote]
Gdyby jeszcze nie ograniczenie interfejsu do 10M to byłaby to rewelacja.

Offline

 

#9  2013-03-22 21:18:02

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: ipsec między hostami.

[quote=Nicram][quote=Jacekalex].....[/quote]
Gdyby jeszcze nie [b]ograniczenie interfejsu do 10M[/b] to byłaby to rewelacja.[/quote]
Co prawda, dawno nie testowałem, ale:

Kod:

bandwidth 100000000 - Sets the interface to 100Mbps

Znalezione w tym tutku:
http://jacekalex.sh.dug.net.pl/OpenVPN.pdf

Ostatnio edytowany przez Jacekalex (2013-03-22 21:37:44)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#10  2013-03-22 21:39:27

  jurgensen - Użytkownik

jurgensen
Użytkownik
Skąd: Wrocław
Zarejestrowany: 2010-01-26

Re: ipsec między hostami.

IPsec nie obsługuje bezpośrednio połączeń w warstwie 2. Na OpenBSD zrealizowałem to, tworząc wirtualne interfejsy gif na zewnętrznych adresach. Na nich zestawiłem IPSec w trybie transportowym z opcją etherip. Później zrobiłem bridge między interfejsem gif oraz interfejsem zewnętrznym i miałem połączenie w warstwie 2.

ps. jeśli masz niewielką przepustowość łącza i duży ruch w sieci, broadcasty mogą je całe zapchać.

Ostatnio edytowany przez jurgensen (2013-03-22 21:40:22)

Offline

 

#11  2013-03-22 21:58:33

  Nicram - Użytkownik

Nicram
Użytkownik
Zarejestrowany: 2006-03-28

Re: ipsec między hostami.

[quote=Jacekalex]

Kod:

bandwidth 100000000 - Sets the interface to 100Mbps

Znalezione w tym tutku:
http://jacekalex.sh.dug.net.pl/OpenVPN.pdf[/quote]
niestety:

Kod:

Mar 22 21:44:45 pat ovpn-server[4105]: Options error: Unrecognized option or missing parameter(s) in /etc/openvpn/server.conf:319: bandwidth (2.1_rc11)

___

[quote=jurgensen]IPsec nie obsługuje bezpośrednio połączeń w warstwie 2. Na OpenBSD zrealizowałem to, tworząc wirtualne interfejsy gif na zewnętrznych adresach. Na nich zestawiłem IPSec w trybie transportowym z opcją etherip. Później zrobiłem bridge między interfejsem gif oraz interfejsem zewnętrznym i miałem połączenie w warstwie 2.

ps. jeśli masz niewielką przepustowość łącza i duży ruch w sieci, broadcasty mogą je całe zapchać.[/quote]
broadcastu akurat się nie obawiam, wszytko to, to do własnych testów wielu wariantów.
Nie za bardzo rozumiem o tych wirtualnych interfejsach "gif" :/, jak się to ma do debiana, czy w debianie nie jest to np. eth0:0?. czy czasem nie zrobiłeś bridge między interfejsem gif i inerfejsem wewnętrznym? bo skoro gif od początku przypięty do zewnętrznego to po co później go bridgeować do tego samego interfejsu?
Jeśli dobrze myślę, i utworzę interfejs wirtualny na interfejsie zewnętrznym to muszę im przyznać jakieś adresy? jakie, jak zewnętrzny routing jest "mocno ograniczony"? jak w takim case zestawić ipseca?
w openswan mam opcje interfaces:

Kod:

config setup
                interfaces="ipsec0=eth0"

ale mimo podniesienia tunelu "ip a" nie pokazuje mi interfejsu ipsec0 co by można było go zbridgeować do lokalnego ethernetu. w manie ipsec.conf nie mogę znaleźć opcji "etherip"

Ostatnio edytowany przez Nicram (2013-03-22 22:14:20)

Offline

 

#12  2013-03-22 22:16:37

  jurgensen - Użytkownik

jurgensen
Użytkownik
Skąd: Wrocław
Zarejestrowany: 2010-01-26

Re: ipsec między hostami.

gif to wirtualny interfejs, wykorzystywany do tuneli (podobny, do znanego m.in. z Cicsco gre - różni się tylko enkapsulacją danych). Tunel można zestawić bez IPSeca, właśnie przy użyciu tych interfejsów. Na istniejącym już tunelu konfigurowałem IPSec dla zachowania integralności danych i szyfrowania. Interfejs gif korzysta z zewnętrznego interfejsu do zestawienia tunelu, natomiast zbridgowany jest z wewnętrznym interfejsem, aby właśnie połączyć sieć wewnętrzną z tunelem, który na drugim końcu również jest zbridgowany z siecią wewnętrzną. Wszystko może obyć się oczywiście bez IPSeca. Służy on wyłącznie do szyfrowania. Jeśli będziesz chciał, mogę odgrzebać działającą konfigurację i wrzucić tu (dla OpenBSD, nie Debiana).

Offline

 

#13  2013-03-22 22:18:48

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: ipsec między hostami.

Z tego, co widzę, po podniesieniu interfejsu tap domyślna prędkość tapX wynosi 10m.
Na forum openvpn piszą, ze jak interfejs tap ruszy z inną prędkością, to openvpn powinien to załapać.
Ale nie mam w tej chwili pomysłu, jak ustawić 100 lub 1000M na tapX.
ethtool nie ogarnia tego interfejsu, w modinfo tun też nic ciekawego nie widziałem.


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#14  2013-03-22 22:29:25

  Nicram - Użytkownik

Nicram
Użytkownik
Zarejestrowany: 2006-03-28

Re: ipsec między hostami.

[quote=Jacekalex]Z tego, co widzę, po podniesieniu interfejsu tap domyślna prędkość tapX wynosi 10m.
Na forum openvpn piszą, ze jak interfejs tap ruszy z inną prędkością, to openvpn powinien to załapać.
Ale nie mam w tej chwili pomysłu, jak ustawić 100 lub 1000M na tapX.
ethtool nie ogarnia tego interfejsu, w modinfo tun też nic ciekawego nie widziałem.[/quote]
tap jest do L3 (co nie zmienia faktu jego prędkości 10M), do L2 używam tun. Gdyby w openvpn były "normalne" prędkości do bym nie kombinował dla moich 3 rw, z których jeden to ja :)
[quote=jurgensen]gif to wirtualny interfejs, wykorzystywany do tuneli (podobny, do znanego m.in. z Cicsco gre - różni się tylko enkapsulacją danych). Tunel można zestawić bez IPSeca, właśnie przy użyciu tych interfejsów. Na istniejącym już tunelu konfigurowałem IPSec dla zachowania integralności danych i szyfrowania. Interfejs gif korzysta z zewnętrznego interfejsu do zestawienia tunelu, natomiast zbridgowany jest z wewnętrznym interfejsem, aby właśnie połączyć sieć wewnętrzną z tunelem, który na drugim końcu również jest zbridgowany z siecią wewnętrzną. Wszystko może obyć się oczywiście bez IPSeca. Służy on wyłącznie do szyfrowania. Jeśli będziesz chciał, mogę odgrzebać działającą konfigurację i wrzucić tu (dla OpenBSD, nie Debiana).[/quote]
Dzięki, już nie co kumam. Nie chciałbym nadwyrężać Twojej dobrej woli żebyś szukał tej konfiguracji, ale jak znajdziesz chwilkę i odrobinę chęci, to fajnie byłoby to zobaczyć. Może coś by się wykombinowało pod debiana.

Ostatnio edytowany przez Nicram (2013-03-22 22:30:52)

Offline

 

#15  2013-03-23 00:08:53

  jurgensen - Użytkownik

jurgensen
Użytkownik
Skąd: Wrocław
Zarejestrowany: 2010-01-26

Re: ipsec między hostami.

[url]http://i45.tinypic.com/10mj1o6.png[/url] Na obrazku zamieściłem schemat sieci z przykładu (gdyby coś było niejasne, daj proszę znać).

Interfejsy zewnętrzne na routerach to em0. Interfejsy wewnętrzne to em1. Są jeszcze wirtualne interfejsy gif0 oraz bridge0. Na interfejsach wewnętrznych po obu stronach jest ta sama sieć -192.168.0.0/24 - domena rozgłoszeniowa rozciągnęła się na dwie lokacje poprzez tunel.

[b]Router R1[/b] - konfiguracja interfejsów

Kod:

hostname.em0

inet 10.0.0.2 255.255.255.0
-----------------------------------------
hostname.em1

inet 192.168.0.1 255.255.255.0
-----------------------------------------
hostname.gif0

tunnel 10.0.0.2 10.1.0.2
-----------------------------------------
hostname.bridge0

add em1
add gif0
up

[b]Router R2[/b] - konfiguracja interfejsów

Kod:

hostname.em0

inet 10.1.0.2 255.255.255.0
-----------------------------------------
hostname.em1

inet 192.168.0.100 255.255.255.0
-----------------------------------------
hostname.gif0

tunnel 10.1.0.2 10.0.0.2
-----------------------------------------
hostname.bridge0

add em1
add gif0
up

Na koniec konfiguracja IPSeca, który ochroni nas przed podsłuchem na ruterach pomiędzy R1 a R2:

Ipsec na [b]R1[/b]:

Kod:

ike esp transport from 10.0.0.2 to 10.1.0.2 psk TajneHaslo
flow esp proto etherip from 10.0.0.2 to 10.1.0.2

Ipsec na [b]R2[/b]:

Kod:

ike esp transport from 10.1.0.2 to 10.0.0.2 psk TajneHaslo
flow esp proto etherip from 10.1.0.2 to 10.0.0.2

W razie dodatkowych pytań, daj znać.

Ostatnio edytowany przez jurgensen (2013-03-23 00:10:39)

Offline

 

#16  2013-03-23 13:41:35

  Nicram - Użytkownik

Nicram
Użytkownik
Zarejestrowany: 2006-03-28

Re: ipsec między hostami.

Dzięki @jurgensen, zasada jest jasna i właśnie takie coś chcę osiągnąć. teraz kwestia tego tunelu. jak wcześniej wspomniałeś gif to interfejs tunelujący podobny do gre, z tym, że podobny to nie identyczny :) jaki odpowiednik tego tunelu będzie w linuxie/debianie? czyżby ipip? bo reszta jest jasna

Offline

 

#17  2013-03-23 14:02:38

  jurgensen - Użytkownik

jurgensen
Użytkownik
Skąd: Wrocław
Zarejestrowany: 2010-01-26

Re: ipsec między hostami.

gif to właściwie to samo, co gre, różni się jedynie sposobem enkapsulacji danych. Wydaje mi się, że na gre powinno to również działać, ale nie jestem na 100% pewien.

Offline

 

#18  2013-03-23 14:57:20

  Nicram - Użytkownik

Nicram
Użytkownik
Zarejestrowany: 2006-03-28

Re: ipsec między hostami.

[quote=jurgensen]gif to właściwie to samo, co gre, różni się jedynie sposobem enkapsulacji danych. Wydaje mi się, że na gre powinno to również działać, ale nie jestem na 100% pewien.[/quote]
właśnie sprawdziłem. nie mogę dodać interfejsu tunelowego do bridgea :/

Kod:

ip tunnel add tunel0 mode gre remote 10.21.7.15 local 10.21.7.57
ip link set up dev tunel0
...
~#brctl addbr br0
~#brctl addif br0 tunel0 
can't add tunel0 to bridge br0: Invalid argument

jakieś sugestie?

-------------

gretap

Ostatnio edytowany przez Nicram (2013-03-23 15:01:15)

Offline

 

#19  2013-03-23 15:24:53

  jurgensen - Użytkownik

jurgensen
Użytkownik
Skąd: Wrocław
Zarejestrowany: 2010-01-26

Re: ipsec między hostami.

Za bardzo nie wiem, jak to zrobić pod Debianem. W tym [url]http://www.vyatta.org/node/970[/url] sugerują wykorzystanie L2TPv3.

Offline

 

#20  2013-03-23 15:41:35

  Nicram - Użytkownik

Nicram
Użytkownik
Zarejestrowany: 2006-03-28

Re: ipsec między hostami.

zrobiłem to tak i działa :)

Host A:

Kod:

ip link add gretap0 type gretap local 172.31.0.1 remote 172.31.0.2
ip link set dev gretap0 up
ip link set dev eth1 up
brctl addbr br0
brctl addif br0 gretap0
brctl addif br0 eth1
ip addr add 10.10.10.1/24 dev br0
ip link set br0 up

Host B:

Kod:

ip link add gretap0 type gretap local 172.31.0.2 remote 172.31.0.1
ip link set dev gretap0 up
ip link set dev eth1 up
brctl addbr br0
brctl addif br0 gretap0
brctl addif br0 eth1
ip addr add 10.10.10.2/24 dev br0
ip link set br0 up

dodatkowo między hostami 172.31.0.2 i 172.31.0.1 ustawiłem ipseca i działa. podsłuchując tcpdumpem na br0 i próbując pingować coś z sieci br0 widzę zapytania arp więc L2 działa :)
słuchając na interfejsach zewnętrznych (172.31.0.1) widzę ruch szyfrowany ESP :) jednym słowem super.

dzięki za sugestie

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)

[ Generated in 0.014 seconds, 11 queries executed ]

Informacje debugowania

Time (s) Query
0.00013 SET CHARSET latin2
0.00005 SET NAMES latin2
0.00103 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.147.104.120' WHERE u.id=1
0.00093 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.147.104.120', 1715656187)
0.00047 SELECT * FROM punbb_online WHERE logged<1715655887
0.00105 SELECT topic_id FROM punbb_posts WHERE id=228411
0.00229 SELECT id FROM punbb_posts WHERE topic_id=23189 ORDER BY posted
0.00108 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=23189 AND t.moved_to IS NULL
0.00008 SELECT search_for, replace_with FROM punbb_censoring
0.00139 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=23189 ORDER BY p.id LIMIT 0,25
0.00121 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=23189
Total query time: 0.00971 s