Untar
$ tar xvf ganglia-x-x.tar.gz
Wymagane paczki:
pakage 'apr-1' not found
$ yum install apr-devel
package 'libconfuse' not found
download libconfuse package
zainstaluj ręcznie
$./configure --enable-shared
$make
$make install
package 'libexpat' not found
$ yum install expat expat-devel
package 'libpcre' not found
$ yum install pcre-devel
zlib library not configured properly
$ yum install zlib-devel
I na koniec instalacja Ganglia
./configure
make
make install
Pokazywanie postów oznaczonych etykietą Linux. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą Linux. Pokaż wszystkie posty
Linux - Wyszukiwanie - najwieksze pliki, ciąg znaków, starszych niż...
Szukanie ciągu tekstu w plikach:
grep -RIlm 1 "SZUKANY TEKST" GDZIE_SZUKAC
Szukanie plików większych niż:
find / -size +100M
Szukanie z sortowaniem - x wyników:
du -a /|sort -n -r|head -n 10 5415608 /var 3516492 /var/www 2061324 /var/www/galeria 2061308 /var/www/galeria/htdocs 2061304 /var/www/galeria/htdocs/gallery 1992220 /var/www/galeria/htdocs/gallery/g2data 1772256 /var/www/galeria/htdocs/gallery/g2data/albums 1184184 /var/lib 786452 /var/lib/mongodb 786444 /var/lib/mongodb/journal gdzie: du -a oblicza zajętość dla wszystkich elementów w podanym katalogu - włącznie z plikami sort -n -r sortuje dane numerycznie (-n), w kolejności malejącej (-r) head -n 10 wyświetla pierwsze 10 linii
Jeśli chcemy uzyskać bardziej przyjazny raport możemy skorzystać z poniższej komendy:
du -ah /|sort -h -r|head -n 10
5,2G /var
3,4G /var/www
2,0G /var/www/galeria/htdocs/gallery
2,0G /var/www/galeria/htdocs
2,0G /var/www/galeria
1,9G /var/www/galeria/htdocs/gallery/g2data
1,7G /var/www/galeria/htdocs/gallery/g2data/albums
1,2G /var/lib
769M /var/lib/mongodb/journal
769M /var/lib/mongodb
Usuwanie plików starszych niż X dni:
Czasami zachodzi potrzeba usunięcia plików starszych niż kilka dni w katalogu który tychże plików mieści kilka czy kilkadziesiąt tysięcy, usuwanie ich za pomocą mc czy innego menedżera plików może być bardzo kłopotliwe.
sudo find /sciezka/polozenia/plikow* -mtime +180 -exec rm {} \;
Pierwszym parametrem jest ścieżka do plików.
Parametr -mtime – określa wiek plików w dniach
Trzecim parametrem jest „exec” – uruchomi on dla każdego znalezionego przez „find” pliku polecenie rm (usuń).
Linux - usuwanie plików starszych niż X dni
Czasami zachodzi potrzeba usunięcia plików starszych niż kilka dni w
katalogu który tychże plików mieści kilka czy kilkadziesiąt tysięcy,
usuwanie ich za pomocą mc czy innego menedżera plików może być
bardzo kłopotliwe.
sudo find /sciezka/polozenia/plikow* -mtime +180 -exec rm {} \;
Pierwszym parametrem jest ścieżka do plików.
Parametr -mtime – określa wiek plików w dniach
Trzecim parametrem jest „exec” – uruchomi on dla każdego znalezionego przez „find” pliku polecenie rm (usuń).
sudo find /sciezka/polozenia/plikow* -mtime +180 -exec rm {} \;
Pierwszym parametrem jest ścieżka do plików.
Parametr -mtime – określa wiek plików w dniach
Trzecim parametrem jest „exec” – uruchomi on dla każdego znalezionego przez „find” pliku polecenie rm (usuń).
Sudoers - Uszkodzony plik, brak dostępu
Uszkodziłeś przypadkiem plik, brakuje Ci dostępu do pliku?
Uruchom komputer z Live-CD dowolnej dystrybucji Linux-a
Wydaj poniższe polecenie i edytuj plik na zamontowanym dysku
Uruchom komputer z Live-CD dowolnej dystrybucji Linux-a
Wydaj poniższe polecenie i edytuj plik na zamontowanym dysku
pkexec visudo -f /mnt/DYSK/etc/sudoers
Dodanie użytkownika mysql - Linux
Przykład:
Chcemy dodać użytkownika o nazwie cms i utworzyć bazę danych o nazwie cms, nadać uprawnienia do bazy, tak aby można było robić wszystko.
CREATE USER 'cms'@'localhost' IDENTIFIED BY '**tu wpisz hasło**'; GRANT USAGE ON * . * TO 'cms'@'localhost' IDENTIFIED BY '******' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ; CREATE DATABASE IF NOT EXISTS `cms` ; GRANT ALL PRIVILEGES ON `cms` . * TO 'cms'@'localhost';
Uwaga: powyższy przykład ogranicza użytkownika cms tylko do lokalnego dostępu do bazy danych.
Warto jeszcze zmienić kodowanie dla nowej bazy danych na utf8:
Chcemy dodać użytkownika o nazwie cms i utworzyć bazę danych o nazwie cms, nadać uprawnienia do bazy, tak aby można było robić wszystko.
CREATE USER 'cms'@'localhost' IDENTIFIED BY '**tu wpisz hasło**'; GRANT USAGE ON * . * TO 'cms'@'localhost' IDENTIFIED BY '******' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ; CREATE DATABASE IF NOT EXISTS `cms` ; GRANT ALL PRIVILEGES ON `cms` . * TO 'cms'@'localhost';
Uwaga: powyższy przykład ogranicza użytkownika cms tylko do lokalnego dostępu do bazy danych.
Warto jeszcze zmienić kodowanie dla nowej bazy danych na utf8:
ALTER DATABASE `cms` DEFAULT CHARACTER SET utf8 COLLATE utf8_polish_ci
W razie problemów z dostępem do bazy wykonać polecenie:
flush privileges;
flush privileges;
RHEL/CentOS 6.2 w Hyper-V 2008 R2 z LIC v3.2
Microsoft oficjalnie wspiera RedHat, CentOS i SuSE Linux jako maszyny wirtualne uruchomione na Hyper-V.
Linux Integration Components (LIC) lub Usługi Linux Integration są
elementy wydany przez firmę Microsoft, które muszą być zainstalowane na
maszynach wirtualnych Linuksa, aby w pełni korzystać z funkcji Hyper-V.
Linux Integration Components to zestaw sterowników, które umożliwiają
obsługę urządzeń syntetycznych w obsługiwanych maszyn wirtualnych
systemu Linux działa na Microsoft Hyper-V
Elementy te po zainstalowaniu w systemie Linux przede wszystkim zapewnić poniżej możliwości
1. Sterowniki: Synthetic kontroler sieciowy (NIC), IDE i kontrolerów SCSI pamięci obsługujące
2. Synchronizacja czasu: Zegar wewnątrz maszyny wirtualnej będzie zsynchronizowany z zegarem na hoście
3. Integrated Shutdown: Wyłączyć albo z Hyper-V Manager lub SCVMM
4. Symmetric Multi-Processing (SMP) Obsługa: Obsługa do 4 wirtualnych procesorów na maszynie wirtualnej
5. Heartbeat: Umożliwia Host wykryć, czy maszyna wirtualna jest uruchomiona i czuły
6. Zintegrowane wsparcie Mouse: Bezproblemowa integracja myszy, gdy używana z GUI Linuksa
2. Synchronizacja czasu: Zegar wewnątrz maszyny wirtualnej będzie zsynchronizowany z zegarem na hoście
3. Integrated Shutdown: Wyłączyć albo z Hyper-V Manager lub SCVMM
4. Symmetric Multi-Processing (SMP) Obsługa: Obsługa do 4 wirtualnych procesorów na maszynie wirtualnej
5. Heartbeat: Umożliwia Host wykryć, czy maszyna wirtualna jest uruchomiona i czuły
6. Zintegrowane wsparcie Mouse: Bezproblemowa integracja myszy, gdy używana z GUI Linuksa
Jeśli Linux IC nie są zainstalowane może jeden być przedstawione przez jedną lub wszystkie z poniższych błędów
DOWNLOAD: LIC v 3.2 - http://www.microsoft.com/en-us/download/details.aspx?id=28188
Uwaga:
Ten post zakłada, że jeden ma instalacji CentOS / RHEL / Scientific
Linux 6.2 na HyperV i zamontowany na Linuksa IC v3.2.iso napęd DVD z VM. Jeśli nie wykonaj link poniżej tego postu do przewodnika zdjęcia z serwera minimalnej instalacji CentOS
Dokumentacja dostępna wraz z LIC v3.2 wygląda dobrze, ale, niestety,
gdy próbuje zainstalować dostaniesz błąd podobny do poniżej jednego
ls: nie ma dostępu do kmod-Hyper-V-rhel6-43.1.x86_64.rpm: Nie ma takiego pliku lub katalogu
ls: nie ma dostępu do Hyper-V-rhel6-43.1.x86_64.rpm: nie takiego pliku lub katalogu RPM brakuje
Istnieje proste obejście tego zmieniając katalog na punkt podłączenia dysku i Linux IC wywołanie. / Install.sh skrypt.
Poniżej znajdują się polecenia do uruchomienia instalacji Linux IC i
ponownie uruchomić komputer, gdy zostanie wyświetlony monit, jak widać
na powyższym zrzucie ekranu
mount / dev / cdrom / mediacd / media. / Install.shrestart
Po ponownym uruchomieniu maszyny wirtualnej można zauważyć, że nie ma połączenia z siecią do VM. Wykonaj poniższe czynności w celu skonfigurowania połączenia z siecią
vi / etc/sysconfig/network-scripts/ifcfg-eth0
Naciśnij i na klawiaturze i wpisz poniżej linii
DEVICE = "eth0"
ONBOOT = "yes"
HWADDR =
TYPE = Ethernet
BOOTPROTO = dhcp
NAME = "Instalacja eth0"
HWADDR jest adres MAC karty sieciowej, które można znaleźć z menu
ustawień VM w Hyper-V (Poniżej zdjęcie w celach poglądowych) i DHCP jest
tryb uzyskiwania adresu IP
Teraz użyj poniżej kombinacji klawiszy, aby zapisać plik i zamknąć
EscShift +:wqWpisać
Użyj poniższych poleceń do edycji, Zapisz i zamknij plik na więcej
vi / etc / sysconfig / network
Wpisz poniżej tekstu, zapisz i zamknij
SIEĆ = yes
Teraz Uruchom ifup eth0 i powinno być podłączone do sieci albo zrobić restart.
Dzięki temu nasza CentOS / RHEL można w pełni
korzystać z Hyper-V.
Przekierowanie portów (zewnątrz->wewnątrz, komputer w sieci)
http://www.boutell.com/rinetd/
deamon który w baaardzo prosty sposób pozwala na przekierowanie portów
# example configuration file for rinetd
#
#
# to forward connections to port 80 on 10.10.10.2 to port 80 on 192.168.0.2
# 10.10.10.2 80 192.168.0.2 80
# to forward connections to port 80 on all addresses to port 80 on 192.168.0.2
#0.0.0.0 80 192.168.0.6 80
# access controls can be set with allow and deny rules
# allow and deny before the first forwarding rule are global
# allow and deny after a specific rule apply to it only
# this rule allows hosts from 172.16.32.0/24 netblock
# allow 172.16.32.*
# this rule denies the host 192.168.32.12
# deny 192.168.32.12
# rinetd supports logging - to enable, uncomment the following
# logfile /var/log/rinetd.log
# by default, logs are in a tab-delimited format. Web common-log format
# is available by uncommenting the following
# logcommon
deamon który w baaardzo prosty sposób pozwala na przekierowanie portów
# example configuration file for rinetd
#
#
# to forward connections to port 80 on 10.10.10.2 to port 80 on 192.168.0.2
# 10.10.10.2 80 192.168.0.2 80
# to forward connections to port 80 on all addresses to port 80 on 192.168.0.2
#0.0.0.0 80 192.168.0.6 80
# access controls can be set with allow and deny rules
# allow and deny before the first forwarding rule are global
# allow and deny after a specific rule apply to it only
# this rule allows hosts from 172.16.32.0/24 netblock
# allow 172.16.32.*
# this rule denies the host 192.168.32.12
# deny 192.168.32.12
# rinetd supports logging - to enable, uncomment the following
# logfile /var/log/rinetd.log
# by default, logs are in a tab-delimited format. Web common-log format
# is available by uncommenting the following
# logcommon
Update Perl - Fedora
Error:
perl-PathTools-3.2701-1.el5.rf.i386 (rpmforge) Wymaga: perl(VMS::Filespec)
Solution:
perl-PathTools-3.2701-1.el5.rf.i386 (rpmforge) Wymaga: perl(VMS::Filespec)
Solution:
yum --disablerepo=rpmforge install perl-PathTools
Statystyki wydruków - CUPS
Proste statystyki wydruków z bazą sqlite
Potrzebowałem na szybko statystyk wydruków. Do tego skonstruowałem taki oto twór:
1 | perl -ne 'print "$1 $2\n" if /(\d+\/[a-zA-z]+\/20\d{2}).*for job (\d+)\./' /var/ log /cups/error_log| sort |uniq | awk '{print "insert into printouts values(\""$1"\","$2");"}' | sqlite3 printouts.db |
Ten z pozoru niezgrabny jednolinijkowiec parsuje plik logów cupsa wyciągając z niego numer zadania i datę, a następnie wkłada to do prostej bazy sqlite`a.
Dzięki temu mogłem szybko wydobyć ilość wydruków na dzień. Przy niewielkiej modyfikacji można dołączyć inne pola i już grupować sobie w sqlu co tylko dusza zapragnie. Nie jest to może wyszukany przypadek – raczej ciekawostka. To samo można uzyskać również za pomocą uniq -c, ale perspektywy tego rozwiązania są o wiele większe.
Na koniec tylko polecenie tworzące trywialną strukturę bazyprintouts.db:
sqlite3 printouts.db 'create table printouts(date text,job int)'
Naprawa bazy LDAP
Podczas startu LDAP występuje błąd:
wykonać polecenie:
/usr/sbin/slapd_db_recover -v -h /var/lib/ldap
lub
db_recover -v -h /var/lib/ldap
[root@server1 /]# /etc/init.d/ldap startlub coś podobnego
/var/lib/ldap/__db.001 is not owned by "ldap" [OSTRZEŻENIE]
/var/lib/ldap/__db.002 is not owned by "ldap" [OSTRZEŻENIE]
/var/lib/ldap/__db.006 is not owned by "ldap" [OSTRZEŻENIE]
/var/lib/ldap/__db.005 is not owned by "ldap" [OSTRZEŻENIE]
/var/lib/ldap/__db.004 is not owned by "ldap" [OSTRZEŻENIE]
/var/lib/ldap/__db.003 is not owned by "ldap" [OSTRZEŻENIE]
Sprawdzanie plików konfiguracji dla slapd: [NIEUDANE]
bdb_db_open: database "o=FIRMA,c=PL" cannot be opened, err 13. Restore from backup!
backend_startup_one: bi_db_open failed! (13)
slap_startup failed (test would succeed using the -u switch)
stare pliki blokad mogą być obecne w /var/lib/ldap [OSTRZEŻENIE]
wykonać polecenie:
/usr/sbin/slapd_db_recover -v -h /var/lib/ldap
lub
db_recover -v -h /var/lib/ldap
DAVICal - kalendarz sieciowy
System Centos 5.5
http://ovh.dl.sourceforge.net/project/rscds/davical/0.9.9.2/davical-0.9.9.2-1.noarch.rpm
http://heanet.dl.sourceforge.net/project/rscds/awl/0.45/libawl-php-0.45-1.noarch.rpm
ze strony: http://sourceforge.net/projects/rscds/files
wget http://packages.sw.be/perl-YAML/perl-YAML-0.71-1.el5.rf.noarch.rpm
ze strony: http://packages.sw.be/perl-YAML/
# rpm -ivh libawl-php-0.45-1.noarch.rpm
...
# rpm -ivh davical-0.9.9.2-1.noarch.rpm
...
/etc/init.d/postgresql start
w /var/lib/pgsql/data/pg_hba.conf
dopisać:
local davical davical_app trust
local davical davical_dba trust
przed
# "local" is for Unix domain socket connections only
local all all ident sameuser
host all all 127.0.0.1/32 ident sameuser
host all all ::1/128 ident sameuser
cd /usr/share/davical/dba/
su postgres -c ./create-database.sh
zapisać hasło!!
/etc/init.d/postgresql restart
http.conf - DOPISAĆ
yum install postgresql postgresql-server php-pgsql perl-YAML postgresql-devel perl-DBD-Pg
yum install httpd php php-pgsql perl-YAML
http://ovh.dl.sourceforge.net/project/rscds/davical/0.9.9.2/davical-0.9.9.2-1.noarch.rpm
http://heanet.dl.sourceforge.net/project/rscds/awl/0.45/libawl-php-0.45-1.noarch.rpm
ze strony: http://sourceforge.net/projects/rscds/files
wget http://packages.sw.be/perl-YAML/perl-YAML-0.71-1.el5.rf.noarch.rpm
ze strony: http://packages.sw.be/perl-YAML/
# rpm -ivh libawl-php-0.45-1.noarch.rpm
...
# rpm -ivh davical-0.9.9.2-1.noarch.rpm
...
/etc/init.d/postgresql start
su - postgrescreate user davical_app
createuser --no-createdb --no-createrole davical_appAnswer n to the question
Shall the new role be a superuser? (y/n) ncreate user davical_dba
createuser --no-createdb --no-createrole davical_dbaAnswer n to the question
Shall the new role be a superuser? (y/n) n
w /var/lib/pgsql/data/pg_hba.conf
dopisać:
local davical davical_app trust
local davical davical_dba trust
przed
# "local" is for Unix domain socket connections only
local all all ident sameuser
host all all 127.0.0.1/32 ident sameuser
host all all ::1/128 ident sameuser
cd /usr/share/davical/dba/
su postgres -c ./create-database.sh
zapisać hasło!!
/etc/init.d/postgresql restart
http.conf - DOPISAĆ
< Directory "/usr/share/davical/htdocs" >
Order deny,allow
Allow from all
< /Directory >
Alias /cal/ /usr/share/davical/htdocs/
SQUID: TCP_DENIED/403
Podczas pracy z proxy możesz otrzymac komunikat TCP_DENIED/403 i nie wiadomo dlaczego. Najlepiej wtedy zdebugować reguły i powinno być wiadomo, która blokuje.
Do pliku squid.conf wpiszmy:
debug_options ALL,1 33,2
i popatrzmy w plik cache.log żeby zobaczyć który acl blokuje
Do pliku squid.conf wpiszmy:
debug_options ALL,1 33,2
i popatrzmy w plik cache.log żeby zobaczyć który acl blokuje
VPN (server+klient)
Dzisiaj nastała chwila kiedy potrzebowałem zestawić VPNa do firmowego serwera, by mój szef mógł sobie podejrzeć sobie jak wygląda sieć kiedy on siedzi na działeczce na swoim iPlusie.
Jako, że jeszcze jeszcze nie miałem okazji stawiać innego VPNa aniżeli Cisco'wego, to stwierdziłem, że przyszedł najwyższy czas.
A przy okazji uznałem, że przyda się jakieś polskie HOWTO odnośnie instalacji OpenVPN'a pod Centkiem toteż płodzę poniższy tekst :-)
No to od początku:
2. Po instalacji kopiujemy sobie podstawowe konfigi:
3. Konfigurujemy CA:
Następnie dzięki ulubionemu edytorowi tesktowemu edytujemy plik:
Zjeżdżamy na sam dół pliku a tam podmieniamy wg upodobania:
Następnie sprytnie z katalogu w którym się znajdujemy wywołujemy polecenia:
4. Budujemy CA:
Naszym oczom ukazuje się generowanie pliku, chwilę potem następuje standardowy zestaw pytań na który wystarczy, że przeklikamy enterem.
5. Budujemy klucz serwera:
I znowu naszym oczom ukazuje się generowanie kolejnego pliku i znowu zestaw pytań do przeklikania enterem. Po drodze będzie pytanko o "challange password", warto wprowadzić jakieś dla zabezpieczenia naszego klucza serwera. Na koniec dostaniemy informację do kiedy ważny jest certyfikat oraz czy zgadzamy się na dodanie go do naszej bazy certyfikatów, oczywiście zgadzamy się na to.
6. Budowanie Diffie Hellmana:
Jest to dodatkowy klucz, który pozwoli uchronić nasz serwer przed pasywnym podsłuchem.
(generowanie może chwilę potrwać, więc proszę się nie niecierpliwić)
7. Kopiujemy wygenerowane klucze i certyfikaty w odpowiednie miejsce:
8. Konfigurujemy nasz serwer do korzystania z wygenerowanych kluczy:
9. Startujemy serwer i dodajemy go do autostartu:
1. Ściągamy klienta windzianego z http://openvpn.net/
2. Tworzymy CA na Windowsie:
Otwieramy grzecznie Uruchom, wklepujemy stare dobre cmd, a następnie przechodzimy do katalogu c:\Program Files\OpenVPN (chyba, że podaliśmy podczas instalacji inną ścieżkę)
Edytujemy plik vars.bat i podmieniamy końcówkę wg tego co wpisaliśmy na serwerze (pamiętajmy, że wszystko musi się zgadzać z tym co wklepaliśmy na serwerze):
3. Odpalamy generowanie:
4. Budujemy certyfikat i klucz klienta:
Może się okazać, że przy instalacji OpenVPNa nie wyeksportowała się ścieżka do pliku openssl.exe, więc będziemy ją musieli ręcznie zmienić w pliku build-key (zamiast openssl wklepujemy: ..\bin\openssl).
5. Kopiujemy pliczek vpnklient.csr na nasz serwer do katalogu: /etc/openvpn/easy-rsa/keys , a następnie na serwerze:
Znowu generujemy, trzeba potwierdzić będzie, że chcemy podpisać certyfikat i po sprawie.
6. Kopiujemy podpisane certyfikat i klucz na naszą maszynę windowsową:
W katalogu /etc/openvpn/easy-rsa/keys będą dwa nowe pliczki: ca.crt oraz vpnklient.crt .
Kopiujemy oba na naszego Windowsa do katalogu: C:\Program Files\OpenVPN\config .
Dodatkowo z katalogu C:\Program Files\OpenVPN\easy-rsa\keys kopiujemy do katalogu config plik vpnklient.key.
7. Konfigurujemy klienta OpenVPNa do łączenia:
Kopiujemy przykładowy plik konfiga (client.ovpn) z katalogu C:\Program Files\OpenVPN\config-sample do katalogu config.
Zmieniamy w tymże pliku kilka linijek wg poniższego wzoru:
8. Łączymy się z VPNem:
Odpalamy z menu Start OpenVPN GUI, klikamy prawym na ikonce przy taskbarze i wybieramy z menu Connect.
Jeśli wszystko dobrze zrobiliśmy, powinniśmy bezproblemowo połączyć się z naszym VPNem i cieszyć połączeniem z naszą siecią wewnętrzną.
Źródło: http://greyer.jogger.pl/2009/08/04/howto-openvpn-i-centos-5/
Jako, że jeszcze jeszcze nie miałem okazji stawiać innego VPNa aniżeli Cisco'wego, to stwierdziłem, że przyszedł najwyższy czas.
A przy okazji uznałem, że przyda się jakieś polskie HOWTO odnośnie instalacji OpenVPN'a pod Centkiem toteż płodzę poniższy tekst :-)
No to od początku:
Instalacja i konfiguracja serwera na Centku
1. Ściągamy openvpn'a (musimy mieć dodane repozytorium RPMForge, bo inaczej nici)# yum -y install openvpn
2. Po instalacji kopiujemy sobie podstawowe konfigi:
# cp -r /usr/share/doc/openvpn-2.0.9/easy-rsa/ /etc/openvpn/
# cp /usr/share/doc/openvpn-2.0.9/sample-config-files/server.conf
/etc/openvpn/
3. Konfigurujemy CA:
# cd /etc/openvpn/easy-rsa/
Następnie dzięki ulubionemu edytorowi tesktowemu edytujemy plik:
vars
Zjeżdżamy na sam dół pliku a tam podmieniamy wg upodobania:
export KEY_COUNTRY=PL
export KEY_PROVINCE=LDZ
export KEY_CITY=LODZ
export KEY_ORG=”NazwaFirmy”
export KEY_EMAIL=”adres@e-mail.tld”
Następnie sprytnie z katalogu w którym się znajdujemy wywołujemy polecenia:
# . ./vars
(zwrócić proszę uwagę na spację pomiędzy kropkami)# . ./clean-all
(to samo tutaj zwracamy uwagę na spację pomiędzy kropkami)4. Budujemy CA:
# . ./build-ca
(jak wyżej)Naszym oczom ukazuje się generowanie pliku, chwilę potem następuje standardowy zestaw pytań na który wystarczy, że przeklikamy enterem.
5. Budujemy klucz serwera:
# . ./build-key-server naszserwerek
I znowu naszym oczom ukazuje się generowanie kolejnego pliku i znowu zestaw pytań do przeklikania enterem. Po drodze będzie pytanko o "challange password", warto wprowadzić jakieś dla zabezpieczenia naszego klucza serwera. Na koniec dostaniemy informację do kiedy ważny jest certyfikat oraz czy zgadzamy się na dodanie go do naszej bazy certyfikatów, oczywiście zgadzamy się na to.
6. Budowanie Diffie Hellmana:
Jest to dodatkowy klucz, który pozwoli uchronić nasz serwer przed pasywnym podsłuchem.
# . ./build-dh
(generowanie może chwilę potrwać, więc proszę się nie niecierpliwić)
7. Kopiujemy wygenerowane klucze i certyfikaty w odpowiednie miejsce:
#cp keys/ca.crt /etc/openvpn/
# cp keys/dh1024.pem /etc/openvpn/
# cp keys/naszserwerek.key /etc/openvpn/
# cp keys/naszserwerek.crt /etc/openvpn/
8. Konfigurujemy nasz serwer do korzystania z wygenerowanych kluczy:
# cd /etc/openvpn/
# vim server.conf (podmieniamy poniższe linijki)
dev tap
;dev tun
ca ca.crt
cert naszsserwerek.crt
key naszserwerek.key
9. Startujemy serwer i dodajemy go do autostartu:
# service openvpn start
# chkconfig openvpn on
Instalacja i konfiguracja klienta Windowsowego
1. Ściągamy klienta windzianego z http://openvpn.net/
2. Tworzymy CA na Windowsie:
Otwieramy grzecznie Uruchom, wklepujemy stare dobre cmd, a następnie przechodzimy do katalogu c:\Program Files\OpenVPN (chyba, że podaliśmy podczas instalacji inną ścieżkę)
> copy vars.bat.sample vars.bat
Edytujemy plik vars.bat i podmieniamy końcówkę wg tego co wpisaliśmy na serwerze (pamiętajmy, że wszystko musi się zgadzać z tym co wklepaliśmy na serwerze):
set KEY_COUNTRY=PL
set KEY_PROVINCE=LDZ
set KEY_CITY=LODZ
set KEY_ORG="NazwaFirmy"
set KEY_EMAIL="adres@e-mail.tld"
3. Odpalamy generowanie:
> vars.bat
4. Budujemy certyfikat i klucz klienta:
> copy openssl.cnf.sample openssl.cnf
> md keys
> build-key vpnklient
Może się okazać, że przy instalacji OpenVPNa nie wyeksportowała się ścieżka do pliku openssl.exe, więc będziemy ją musieli ręcznie zmienić w pliku build-key (zamiast openssl wklepujemy: ..\bin\openssl).
5. Kopiujemy pliczek vpnklient.csr na nasz serwer do katalogu: /etc/openvpn/easy-rsa/keys , a następnie na serwerze:
# cd /etc/openvpn/easy-rsa/
# . ./sign-req vpnklient
Znowu generujemy, trzeba potwierdzić będzie, że chcemy podpisać certyfikat i po sprawie.
6. Kopiujemy podpisane certyfikat i klucz na naszą maszynę windowsową:
W katalogu /etc/openvpn/easy-rsa/keys będą dwa nowe pliczki: ca.crt oraz vpnklient.crt .
Kopiujemy oba na naszego Windowsa do katalogu: C:\Program Files\OpenVPN\config .
Dodatkowo z katalogu C:\Program Files\OpenVPN\easy-rsa\keys kopiujemy do katalogu config plik vpnklient.key.
7. Konfigurujemy klienta OpenVPNa do łączenia:
Kopiujemy przykładowy plik konfiga (client.ovpn) z katalogu C:\Program Files\OpenVPN\config-sample do katalogu config.
Zmieniamy w tymże pliku kilka linijek wg poniższego wzoru:
dev tap
;dev tun
remote adres_ip_serwera_vpna 1194
ca ca.crt
cert vpnklient.crt
key vpnklient.key
ns-cert-type server
8. Łączymy się z VPNem:
Odpalamy z menu Start OpenVPN GUI, klikamy prawym na ikonce przy taskbarze i wybieramy z menu Connect.
Jeśli wszystko dobrze zrobiliśmy, powinniśmy bezproblemowo połączyć się z naszym VPNem i cieszyć połączeniem z naszą siecią wewnętrzną.
Źródło: http://greyer.jogger.pl/2009/08/04/howto-openvpn-i-centos-5/
Polecenia Linux
rpm -ql squid - znajdź katalogi/pliki w tym wypadku squida (na całym dysku jakie należą do pakietu)
Ilość połączeń z danego IP:
netstat -a | grep 192.168.0.16
Ograniczanie ilości połączeń
iptables -A FORWARD -p tcp --syn -s $user_ip -m connlimit --connlimit-above $max_connections -j REJECT
Ilość połączeń z danego IP:
netstat -a | grep 192.168.0.16
#!/bin/bash echo "Statystyki polaczen z NAT:" IP=$(arp -n | grep C | grep -v eth0 | awk '{ print $1 }') SUM=0 for I in $IP do COUNT=$(grep $I /proc/net/ip_conntrack | wc -l) if [ "$COUNT" -gt 0 ] then echo -e "$I\tilosc polaczen: $COUNT" SUM=$(($SUM+$COUNT)) fi doneecho "W sumie $SUM polaczen"
exit 0
Ograniczanie ilości połączeń
iptables -A FORWARD -p tcp --syn -s $user_ip -m connlimit --connlimit-above $max_connections -j REJECT
Generator ruchu - SAMBA
Może NetBench?
www.benchmarkhq.ru/english.html?/be_net.html
Download client files (908Kb)
Вownload controller files (1.7Mb)
Może pewniejsze źródła:
www.iozone.org/
www.iometer.org/
www.benchmarkhq.ru/english.html?/be_net.html
Download client files (908Kb)
Вownload controller files (1.7Mb)
Może pewniejsze źródła:
www.iozone.org/
www.iometer.org/
Samba + LDAP
SAMBA - otwórzmy okno na dziki świat
SWAT - Samba Web Administration Tool
Do zarządzania Sambą można i należy wykorzystywać SWATa, przyjazne narzędzie z dokumentacją online.SWAT dostępny jest przez przeglądarkę internetową i ruchamiany jest przez demona inetd. Domyślnie jest wyłączony, aby go włączyć należy wyedytować plik /etc/inetd.conf odkomentowując następujący wiersz:
swat stream tcp nowait.400 root /usr/sbin/swat swat
Przykładowy plik konfiguracyjny dla Samby jako serwera z domeną dla Windows
# parametry globalne
[global]
workgroup = FIRMA
netbios name = SERWER
max log size = 50
time server = Yes
# skrypt automatycznie dodajacy komputer do uzytkownikow linuksa
add machine script = /usr/sbin/useradd -c Komputer -d /dev/null -g 100 -s /bin/false %m$
logon script = logon.bat
logon home = \\%N\%U
logon drive = Z:
# wlaczamy logowania domenowe
domain logons = Yes
# wygrywamy wybory na glowna przegladarke
os level = 255
# jestesmy kontrolerem domeny
preferred master = Yes
domain master = Yes
# i serwerem nazw
wins support = Yes
dns proxy = No
ldap ssl = no
#administratorzy
admin users = root,szef
# hasla sa kodowane
encrypt passwords = Yes
# Udzialy dyskowe
[homes]
comment = Katalog prywatny
read only = No
browseable = No
[Finanse]
comment = Finanse
path = /export/finanse
#podajemy nazwy uzytkownikow lub po znaku @grupy uzytkownikow
valid users = @finanse
read only = No
create mask = 0770
directory mask = 0775
[Sklad]
comment = Sklad na rozne rzeczy
path = /export/sklad
valid users = @users
read only = No
create mask = 0770
directory mask = 0775
[global]
workgroup = FIRMA
netbios name = SERWER
max log size = 50
time server = Yes
# skrypt automatycznie dodajacy komputer do uzytkownikow linuksa
add machine script = /usr/sbin/useradd -c Komputer -d /dev/null -g 100 -s /bin/false %m$
logon script = logon.bat
logon home = \\%N\%U
logon drive = Z:
# wlaczamy logowania domenowe
domain logons = Yes
# wygrywamy wybory na glowna przegladarke
os level = 255
# jestesmy kontrolerem domeny
preferred master = Yes
domain master = Yes
# i serwerem nazw
wins support = Yes
dns proxy = No
ldap ssl = no
#administratorzy
admin users = root,szef
# hasla sa kodowane
encrypt passwords = Yes
# Udzialy dyskowe
[homes]
comment = Katalog prywatny
read only = No
browseable = No
[Finanse]
comment = Finanse
path = /export/finanse
#podajemy nazwy uzytkownikow lub po znaku @grupy uzytkownikow
valid users = @finanse
read only = No
create mask = 0770
directory mask = 0775
[Sklad]
comment = Sklad na rozne rzeczy
path = /export/sklad
valid users = @users
read only = No
create mask = 0770
directory mask = 0775
Mapowanie grup uniksowych na windowsiane
# Create UNIX groups #groupadd tdguests #groupadd tdusers #groupadd tdadmins #groupadd tdfirma #groupadd tdcadcae # Map Windows Domain Groups to UNIX groups net groupmap add ntgroup="Domain Admins" unixgroup=tdadmins rid=512 type=d net groupmap add ntgroup="Domain Users" unixgroup=tdusers rid=513 type=d net groupmap add ntgroup="Domain Guests" unixgroup=tdguests rid=514 type=d # Add Functional Domain Groups net groupmap add ntgroup=tdfirma unixgroup=tdfirma type=d net groupmap add ntgroup=tdcadcae unixgroup=tdcadcae type=d # List of groups net groupmap list
Wówczas użytkownicy np. z grupy tdadmins, po zalogowaniu się do domeny będą administratorami
Smb4k
Dla lubiących okienka smb4k∞. W ustawieniach wpisać w Netbios 192.168.0.1 oraz adres broadcast 192.168.0.255. Dodajemy nazwę grupy roboczej i to wszystko.MS Vista
Dla poprawnej pracy M$ Vista z Sambą należy ustawić politykę bezpieczeństwa sieci w MS Vista na Send LM & NTLMv2 ja to tu opisano:http://www.builderau.com.au/blogs/codemonkeybusiness/viewblogpost.htm?p=339270746∞
LDAP
Można skojarzyć Sambę z LDAP, by korzystała z niego zamiast z pliku haseł.Dokumentacja
http://linio.terramail.pl/abc_samby.pdf∞http://www.samba.org∞
http://minibo.iele.polsl.gliwice.pl/~pz/zajecia/Linux/streszczenie/node61.html∞
http://banita.pl/konf/smbspis.html∞
http://pl.docs.pld-linux.org/uslugi_samba.html∞
http://blog.aboo.pl/2009/11/09/debian-lenny-ad-2008r2-czyli-samba-3-4-1/∞
LDAP - książka adresowa
Edycja wpisów
GUI LDAP (ADD) - http://luma.sourceforge.net/
WWW (ADD) - phpldapadmin
Tworzenie książki:
http://www.hakore.com/teksty/ldap.html
GUI LDAP (ADD) - http://luma.sourceforge.net/
WWW (ADD) - phpldapadmin
Tworzenie książki:
http://www.hakore.com/teksty/ldap.html
LINUX - motd
Gdy nie działa powitanie (dotyczy Gentoo i Fedory)
/etc/motd (wiadomość powitalna),
a potem wystarczyło, że do pliku ~/.bashrc dopisałem coś takiego (na samym końcu):
cat {plik z MOTD}
/etc/motd (wiadomość powitalna),
a potem wystarczyło, że do pliku ~/.bashrc dopisałem coś takiego (na samym końcu):
cat {plik z MOTD}
FIREWALL - najprostszy
Wyczyść obecnie zainstalowane reguły (iptables -F) , wpisz ręcznie komendy zachowując kolejność poleceń (zmieniając $IPTABLES na /sbin/iptables) i na koniec zachowaj
Wcześniej zrób kopię bezpieczeństwa z istniejącej konfiguracji firewalla
Kod
iptables-save > /etc/sysconfig/iptables
/etc/init.d/iptables restart
i powinno być OK./etc/init.d/iptables restart
Wcześniej zrób kopię bezpieczeństwa z istniejącej konfiguracji firewalla
Kod
cp /etc/sysconfig/iptables /etc/sysconfig/iptables_oldSynchronizacja czasu - NTPD
Konfigurację przeprowadzamy w pliku /etc/ntp.conf.
Na początek w pliku tym dodajemy linię (jeżeli nie ma):
driftfile /var/lib/ntp/drift - plik rozrzutu,
logfile /var/log/ntp.log - plik dziennika.
Serwery są wpisane:
server pool.ntp.org
server pool.ntp.org
server pool.ntp.org
Wyłączyć usługę NTPD
Synchronizacja poleceniem:
ntpdate 192.168.0.1
Jeśli otrzymaliśmy mniej więcej taki komunikat:
Jeśli z kolei otrzymaliśmy taki komunikat:
Odblokowanie portu:
iptables -A OUTPUT -p udp --dport 123 -j ACCEPT
iptables -A INPUT -p udp -i eth0 --dport 123 -j ACCEPT
Jeśli czas często nam się rozregulowuje (jeśli istnieje takie słowo ;) warto to polecenie wrzucić do crona:
Na początek w pliku tym dodajemy linię (jeżeli nie ma):
driftfile /var/lib/ntp/drift - plik rozrzutu,
logfile /var/log/ntp.log - plik dziennika.
Serwery są wpisane:
server pool.ntp.org
server pool.ntp.org
server pool.ntp.org
Wyłączyć usługę NTPD
Synchronizacja poleceniem:
ntpdate 192.168.0.1
Jeśli otrzymaliśmy mniej więcej taki komunikat:
adjust time server 213.238.47.29 offset -0.001552 sec
, to gratulacje, udało nam się ustawić czas :) Możemy go teraz sprawdzić poleceniem date
.Jeśli z kolei otrzymaliśmy taki komunikat:
no server suitable for synchronization found
, to niestety mamy problem. Sprawdźmy czy podaliśmy prawidłowo nazwę serwera, czy mamy ustawione prawidłowo DNS-y i czy port UDP 123 (ntp) nie jest przypadkiem blokowany przez naszego firewalla.Odblokowanie portu:
iptables -A OUTPUT -p udp --dport 123 -j ACCEPT
iptables -A INPUT -p udp -i eth0 --dport 123 -j ACCEPT
Jeśli czas często nam się rozregulowuje (jeśli istnieje takie słowo ;) warto to polecenie wrzucić do crona:
# crontab -e
i dodajemy taką linię:Czas będzie aktualizowany codziennie o północy.00 0 * * * ntpdate europe.pool.ntp.org
Subskrybuj:
Posty (Atom)