DNS i FTP

DNS i FTP

Dzisiejszy wpis powstał na specjalne życzenie moich uczniów, którym podczas rozwiązywania jednego z zadań egzaminacyjnych wyskakiwał błąd połączenia - "Błąd folderu FTP".

Zadanie

Naszym zadaniem jest zainstalowanie i skonfigurowanie dwóch ról: DNS  i FTP. Musimy skonfigurować je w taki sposób, aby z komputera klienckiego po wpisaniu adresu domenowego pojawiły się zasoby udostępniane na serwerze przez FTP.

Wymagania wstępne

Zanim zabierzemy się do konfiguracji, warto przypomnieć sobie jak zainstalować DNS oraz jak zainstalować FTP.  Następnym krokiem będzie przygotowanie środowiska do pracy. Potrzebować będziemy komputer kliencki połączony z serwerem, a na serwerze dobrze by było już mieć zainstalowaną rolę DNS.

Konfiguracja DNS

 Otwórz ustawienia roli serwera DNS(np. rozwijając rolę DNS w Menedżerze Serwera). Jeżeli nie masz strefy wyszukiwania do przodu - stwórz ją(z dowolną nazwą, np. szkola.local). Otwórz strefę, dodaj rekord A z nazwą ftp wskazujący na adres IP twojego serwera (w moim przykładzie ftp.szkola.local, ades 192.168.13.1).

ustawienia DNS

Testowanie DNS

Zanim przejdziemy dalej, przetestuj poprawne działanie serwera DNS na komputerze klienckim. W tym celu skonfiguruj połączenie sieciowe klienta(Ustal adres IP, tak aby był w tej samej sieci, podaj maskę podsieci, a jako serwer DNS podaj adres IP serwera). Następnie otwórz wiersz poleceń i wykonaj test połączenia za pomocą polecenia ping.

 

wyniku testu DNS

Jeżeli otrzymasz taki błąd, należy przejść do serwera i uruchomić ustawienia zapory ogniowej. Następnie należy włączyć regułę ruchu przychodzącego: "Udostępnianie plików i drukarek (żądanie echa - ruch przychodzący ICMPv4). Teraz wykonaj test ponownie, jeżeli wszystko jest OK, możesz iść dalej, jeśli nie - sprawdź od początku wszystkie elementy, które podlegały konfiguracji.

Ostatnim etapem przed instalacją i konfiguracją FTP jest stworzenie folderu, w którym przechowywane będą pliki dla FTP.

Konfiguracja FTP

Zainstaluj Serwer sieci Web (IIS) z uwzględnieniem FTP. Następnie dodaj witrynę FTP, nazwij dowolnie, wskaż wcześniej stworzony folder i przejdź dalej. W kolejnym kroku wybierz adres IP swojego serwera, oraz wyłącz SSL(ponieważ w tym ćwiczeniu nie będziemy instalować certyfikatu).

Ostatni etap konfiguracji przedstawiłem na zrzucie ekranowym. Nasze ćwiczenie wymaga logowania anonimowego bez tworzenia dodatkowych grup czy użytkowników. Teraz powinno już wszystko działać. Jeżeli nie działa, w pierwszej kolejności sprawdź zaporę - możesz tymczasowo ją wyłączyć. Działa? To wracamy do zapory i sprawdzamy czy wyjątki związane z FTP są aktywne. Jeśli tak, a pomimo tego przy włączonej zaporze nie działa, stwórz nową regułę dla portu 21. Ostatnią deską ratunku jest zmiana ustawień zapory, tak aby niezależnie od rodzaju sieci(publiczna,prywatny, domena) zawsze zezwalała na połączenia. Niestety w przypadku tego ostatniego kroku, nasz serwer nie będzie poprawnie zabezpieczony, co za tym idzie, stosujemy go tylko i wyłącznie wtedy, kiedy nasze ćwiczenie dotyczy tylko anonimowego dostępu do FTP poprzez nazwę domenową.

ustawienia FTP

Przykład

Poniżej zamieszczam film, na którym wykonałem wszystkie powyższe kroki. Powodzenia!

Sezon na zdjęcia makro rozpoczęty ;)

Sezon na zdjęcia makro rozpoczęty ;)

Uwielbiam dłuuuugie wiosenne weekendy. Zawsze wtedy znajdzie się choć trochę czasu, żeby przybliżyć się do natury i porobić jej sweet-focie:) Kwiatki, pączki, listki - od tego przeważnie zaczynam, a jak już mam pełną kartę zdjęć przedstawiających każdy kwiatek na pobliskiej jabłonce(przeważnie żadne z nich nie jest tym, które chciałbym opublikować), idę jeszcze bliżej - ważki, motylki, pszczółki, muchy, mrówki . Może dziwny to widok, jak dorosły facet klęczy na łące i wciska aparat w każdego kwiatka, ale tak to w skrócie wygląda. Co? Makrofotografia i fotografia zbliżeniowa. Dziś nie będziemy skupiać się na tym czym się różnią, bo to tylko wstęp. Dlatego dziś powiem, oto kilka zdjęć MAKRO na zachętę.

Wykorzystaj chwilę dobrej pogody, wyjdź przed blok/dom, idź  do ogrodu czy na łąkę i rób zdjęcia. Im bliżej uda Ci się podejść tym ciekawsze będą zdjęcia. Wypełnij kadr tym, co chcesz pokazać i rób zdjęcia! O szczegółach technicznych, nazewnictwie i sposobach na makro, opowiem przy kolejnej okazji 😉

Zróbmy stronę WWW i postawmy serwer FTP na Windows Server 2008R2

Zróbmy stronę WWW i postawmy serwer FTP na Windows Server 2008R2

Jak zrobić serwer,  na którym będzie można stawiać strony WWW i zarządzać FTP w Windows Server 2008R2?

Dziś chciałbym pokazać Ci jak zainstalować i wstępnie skonfigurować rolę: Serwer sieci Web(IIS). W wyniku naszych działań otrzymasz serwer, na którym obsłużyć można strony WWW i serwer FTP. Aby ułatwić przyswojenie podstawowej konfiguracji, instalację wykonamy na czystym serwerze Windows Server 2008R2.

Przygotowanie serwera do roli Web(IIS)

Pierwszy etap jest bardzo standardowy, tak jak zawsze, zaczynamy od kreatora konfiguracji początkowej i uzupełniamy wszystkie niezbędne opcje konfiguracyjne(aktywacja, strefa czasowa, połączenia sieciowe, nazwa komputera).

kreator dodawania roli serwera sieci Web(IIS)

Następnie uruchamiamy kreator dodawania ról serwera(Dodaj rolę w menedżerze serwera, bądź w kreatorze konfiguracji początkowej). Tam wybieramy rolę, dalej widać, że kreator coś domyślnie nam pozaznaczał - dodajmy jeszcze tylko FTP i możemy iść dalej.

Konfiguracja usług internetowych.

Zanim przejdziemy do konfiguracji, przetestuj czy serwer sieci Web działa poprawnie. W tym celu uruchom przeglądarkę internetową i wpisz w pasku adresu, adres: localhost lub adres IP serwera(w naszym przykładzie będzie to 192.168.100.1). Jeśli otrzymasz ekran taki jak na ilustracji możemy iść dalej.

Uruchom teraz menedżer serwera, w zakładce role, pojawiła nam się nowa rola: Serwer sieci Web(IIS), rozwiń ją i uruchom Menedżer internetowych usług informacyjnych(narzędzie dostępne także z poziomu menu start - > narzędzia administracyjne).  W dalszym etapie dodamy nową witrynę Web, FTP i wykorzystamy różne sposoby do odczytu z serwera FTP. Wszystkie kroki pokazane są na filmie poniżej.

NAT – czyli jak klientowi dać Internet?

NAT – czyli jak klientowi dać Internet?

NAT - Network Address Translation

W wielkim skrócie, udostępnimy w sieci lokalnej nasze łączę internetowe. W naszym przykładzie, tylko serwer jest podłączony do Internetu, komputery klienckie są tylko w sieci lokalnej.

Założenia - wyposażenie serwera

Nasz serwer ma już zainstalowane role:

  • Active Directory Domain Services,
  • DNS
  • oraz DHCP.

Nie jest to konieczne, ale do dalszych ćwiczeń będzie bardzo wygodne. Teraz należy dodać nową rolę(wykorzystaj Menedżer serwera) i wybrać Usługi zasad i dostępu sieciowego, dalej zaznaczamy Usługi routingu i dostępu zdalnego, tak jak na rysunku poniżej.

Po zakończeniu instalacji, należy przejść do konfiguracji roli NAT. W tym celu w Menedżerze serwera rozwiń Usługi zasad i dostępu sieciowego, kliknij prawym przyciskiem myszy na  Routing i dostęp zdalny  i wybierz Konfiguruj i włącz routing i dostęp zdalny.

Przy konfiguracji wybieramy opcję Translator adresów sieciowych i wskazujemy to połączenie sieciowe, którym łączymy się z Internetem. Kończymy konfigurację i logujemy się na komputerze klienckim, który właśnie otrzymał Internet.

[JS] Rzuty kostką

Dziś stworzymy aplikację, która zbada ile razy w 100 rzutach kostką wypadną poszczególne liczby. Dodatkowo wszystkie rzuty mają zostać zapisane w tablicy.

Jak symulować rzut kostką do gry?

Rzucając zwykłą kostką do gry, otrzymamy liczby całkowite z zakresu od 1 do 6.

Jak wylosować liczbę za pomocą JavaScript?

W JavaScript funkcja random obiektu Math, umożliwia nam wylosowanie liczby rzeczywistej z zakresu [0;1). Oznacza to, że wylosować możemy np.: 0, 0.5, 0.1203, 0.912, 0.999 ale nigdy nie wylosujemy liczby 1 i większej niż 1.

W jaki sposób wylosować liczby całkowite z zakresu od 1 do 6?

Jeżeli wylosowaną liczbę pomnożysz przez 6, otrzymasz zakres [0;6). Wyobraź sobie oś liczbową, zaznacz na niej nasz zakres i pomyśl, co trzeba zrobić, aby zakres zaczynał się od 1? Tak, wystarczy przesunąć zakres o jeden w prawo. Zrobimy to dodając do naszej liczby 1, otrzymujemy zakres [1,7). Niestety wciąż nie otrzymujemy liczb całkowitych, a także możemy wylosować liczbę większą od 6(ale jednocześnie mniejszą od 7). Aby otrzymywać liczby całkowite wykorzystamy zaokrąglanie. Mamy do dyspozycji 3 rodzaje zaokrąglania:

Math.ceil();
Math.floor();
Math.round();

Pierwsza z nich zaokrągla do góry, tzn. mając liczby:

  • 0.4, 0.7, 1.2, 6.5

otrzymamy odpowiednio:

  • 1, 1, 2, 7

Druga metoda zaokrągla w dół, czyli dla naszych przykładowych liczb otrzymamy:

  • 0, 0, 1, 6

Trzecia metoda zaokrągla klasycznie wg normalnych reguł matematycznych, zatem otrzymamy:

  • 0, 1, 1, 7

Która z tych metod przyda się nam do aplikacji?

Sposób na wylosowanie liczby z zakresu od 1 do 6

rzut = Math.floor(Math.random() * 6 + 1);

Jak rzucić kostką 100 razy przy użyciu JavaScript?

Wystarczy użyć pętli, która wykona się 100 razy, a w niej umieścimy nasz rzut kostką. Aby rzuty zapisywały się, stworzymy tablicę, do której będziemy zapisywać kolejne rzuty.

100 rzutów kostką

 var rzut = [];
        for (var i = 0; i < 100; i++) {
            rzut[i] = Math.floor(Math.random() * 6 + 1);
        }
        alert(rzut.join());

Aplikacja

Skoro potrafimy już zasymulować 100 rzutów kostką, napiszmy całą aplikację, która policzy ile razy wypadnie dana liczba. W tym celu, na początku deklarujemy zmienne:

  • tablicę do przechowywania rzutów
  • tablicę w której będziemy zliczać ile razy wypadnie dana liczba
  • napis za pomocą którego poinformujemy użytkownika o wynikach naszego eksperymentu.
var rzut = [];
        var stat = [0, 0, 0, 0, 0, 0];
        var napis = "";

Teraz rozpoczniemy pętle, tak jak przy wcześniej rzucając 100 razy kostką.

for (var i = 0; i < 100; i++) {
            rzut[i] = Math.floor(Math.random() * 6 + 1);

Zanim zakończymy działanie pętli zastanówmy się jak zapisywać do tablicy stat ile razy wypadła dana liczba. Moglibyśmy użyć instrukcji warunkowej, która sprawdzałaby czy wypadła 1, jeśli tak, to zwiększamy o jeden wartość w tablicy stat odpowiadającej jedynce(w moim przypadku będzie to pierwsza pozycja z indeksem 0).

if(rzut[i]==1) stat[i]++;

I tak dalej, sprawdzając wszystkie możliwości. Warto jednak by było zastosować w tym celu inną instrukcję, taką która ze swojej definicji zastępuje wiele instrukcji if. Skorzystamy z instrukcji switch, która w zależności od przypadku(case) będzie zachowywała się nieco inaczej. Pamiętaj, że po każdym przypadku musisz użyć instrukcji break.

switch (rzut[i]) {
            case 1:
                stat[0]++;
                break;
            case 2:
                stat[1]++;
                break;
            case 3:
                stat[2]++;
                break;
            case 4:
                stat[3]++;
                break;
            case 5:
                stat[4]++;
                break;
            case 6:
                stat[5]++;
                break;
            }

Czy można udoskonalić nasz kod?

Oczywiście, że tak, możemy całkowicie wyeliminować sprawdzanie czy to za pomocą if, czy switch i wykorzystać następujący kod...

stat[rzut[i] - 1] += 1;

Co robi ten kod?

Przeanalizuj dokładnie swój skrypt, a na pewno samodzielnie odpowiesz na to pytanie.

Wyświetlanie

Teraz pozostało stworzyć napis za pomocą, którego przekażesz informację użytkownikowi i go wyświetlić. Poniżej przykładowy efekt działania naszego skryptu.

<p id="ekranik"></p>
 <script>
 var rzut = [];
 var stat = [0, 0, 0, 0, 0, 0];
 var napis = "";

 for (var i = 0; i < 100; i++) {
 rzut[i] = Math.floor(Math.random() * 6 + 1);
stat[rzut[i] - 1] += 1;
 }
 napis = "W 100 rzutach wypadło: <br>" + stat[0] + " jedynek, <br>" + stat[1] + " dwójek, <br>" + stat[2] + " trójek, <br>" + stat[3] + " czwórek, <br>" + stat[4] + " piątek, <br>" + stat[5] + " szóstek.<br>";
 document.getElementById("ekranik").innerHTML = napis;
 </script>

Pin It on Pinterest