sk2:zajecia_zdalne
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| sk2:zajecia_zdalne [2020/11/03 13:07] – [Metoda #1: Udostępnienie VNC prowadzącemu] jkonczak | sk2:zajecia_zdalne [2021/12/18 12:38] (current) – [Oprogramowanie do zdalnych zajęć] jkonczak | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== | + | ====== |
| - | ===== Narzędzia ===== | + | ++++ Programowanie niskopoziomowe | |
| Do zajęć zdalnych koniecznie musicie mieć do dyspozycji: | Do zajęć zdalnych koniecznie musicie mieć do dyspozycji: | ||
| * system operacyjny GNU/Linux | * system operacyjny GNU/Linux | ||
| - | * dowolny współczesny kompilator C/C+'''' | + | * dowolny współczesny kompilator C/C+%%%%+: |
| * polecane: [[https:// | * polecane: [[https:// | ||
| - | * uwaga: proszę sprawdzić działanie kompilatora na [[https:// | + | * uwaga: proszę sprawdzić działanie kompilatora na [[https:// |
| * IDE lub edytor tekstowy do pisania kodu: | * IDE lub edytor tekstowy do pisania kodu: | ||
| * przykładowe IDE: [[https:// | * przykładowe IDE: [[https:// | ||
| Line 23: | Line 23: | ||
| * '' | * '' | ||
| * wygodny emulator terminala | * wygodny emulator terminala | ||
| + | ++++ | ||
| + | **Qt**\\ | ||
| + | Proszę zainstalować program qtcreator oraz podstawowe biblioteki deweloperskie, | ||
| + | W zdecydowanej większości dystrybucji Linuksa pakiety są dostępne w domyślnych repozytoriach (np. dla Ubuntu: '' | ||
| + | Proszę przetestować czy środowisko działa poprawnie kompilując przykładowy kod: {{: | ||
| + | < | ||
| - | ===== Metoda #1: Udostępnienie VNC prowadzącemu ===== | + | **Java**\\ |
| + | Proszę zainstalować JDK i swoje ulubione IDE do Javy (np. IntelliJ / Eclipse / NetBeans). | ||
| - | # tl;dr (czyli dla osób które chcą gotowe polecenia i nie chce im się czytać dalej) | + | ++++ DNS | |
| - | wget http:// | + | Proszę zainstalować programy '' |
| - | | + | W zależności od dystrybucji, |
| - | | + | |
| - | | + | bind |
| - | | + | bind9 |
| + | bind-tools | ||
| + | bind9-tools | ||
| + | | ||
| + | bind9-dnsutils | ||
| + | bind-utils | ||
| + | bind9-utils | ||
| + | |||
| + | Do sprawdzenia czy programy są dostępne, proszę użyć poleceń: | ||
| + | |||
| + | named -v | ||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | //Uwaga:// named i named-checkconf mogą być dostępne tylko z roota (tzn. są w | ||
| + | katalogu ''/ | ||
| | | ||
| + | Proszę sprawdzić czy bind nie jest uruchamiany automatycznie. \\ | ||
| + | Jeśli polecenie: | ||
| - | ==== Krok 1: dołączenie do VPNa ==== | + | ps -FA | egrep ' |
| + | |||
| + | znajdzie działający program '' | ||
| + | dla swojego systemu operacyjnego komendą, | ||
| + | |||
| + | systemctl stop bind && systemctl disable bind | ||
| + | systemctl stop bind9 && systemctl disable bind9 | ||
| + | systemctl stop named && systemctl disable named | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | |||
| + | ++++ | ||
| + | |||
| + | ++++ Kształtowanie ruchu | | ||
| + | Na zajęciach będziecie pracować na komputerach w laboratorium na Politechnice. | ||
| + | Przed zajęciami proszę: | ||
| + | * zalogować się na '' | ||
| + | * zalogować się z polluksa na wybrany z komputerów laboratoryjnych (lab-net-[1-16] lub lab-sec-[1-16]): | ||
| + | * swoim kontem '' | ||
| + | * na konto '' | ||
| + | * jeśli zalogowaliście się swoim kontem do VLABa, proszę wybrać '' | ||
| + | * uruchomić ponownie ('' | ||
| + | Zachęcam do przypomnienia sobie jak korzysta się z SSH i narzędzi takich jak screen i tmux ([[https:// | ||
| + | Na tych zajęciach będę sprawdzać stan Waszej pracy logując się na maszyny w laboratorium, | ||
| + | |||
| + | ++++ | ||
| + | |||
| + | |||
| + | ++++ IPv6 | | ||
| + | Podobnie jak na zajęciach z kształtowania ruchu (powyżej) w trakcie zajęć będą wykorzystywane komputery w laboratoriach. | ||
| + | |||
| + | W trakcie tych zajęć będzie konieczność uruchomienia programu Wireshark na komputerach w laboratorium. \\ | ||
| + | Dlatego proszę o przygotowanie się do używania programu wireshark, np: | ||
| + | * wykorzystując X11 forwarding w SSH (opisane [[sk1: | ||
| + | mkdir \dev | ||
| + | echo x > \dev\tty | ||
| + | </ | ||
| + | * uruchomienie serwera VNC < | ||
| + | ++++ | ||
| + | |||
| + | ++++ WLAN 1 | | ||
| + | Podobnie jak na zajęciach z IPv6 (powyżej) w trakcie zajęć będą wykorzystywane komputery w laboratoriach. \\ | ||
| + | Możliwe (zależy od tempa zajęć) że w trakcie zajęć będzie też potrzeba uruchomić Wireshark na komputerach w laboratorium. | ||
| + | ++++ | ||
| + | |||
| + | ++++ WLAN 2 | | ||
| + | Zajęcia będą odbywać się na komputerach w laboratorium. \\ | ||
| + | W zależności od ilości osób może wystąpić konieczność pracy w grupach – sprzętowych AP jest ograniczona ilość. | ||
| + | Dlatego proszę o przećwiczenie pracy w jednej konsoli przez kilka osób (np. używając tmux/wemux lub współdzieląc ekran). | ||
| + | ++++ | ||
| + | |||
| + | ++++ WLAN 3 | | ||
| + | Zajęcia będą odbywać się na komputerach w laboratorium. \\ | ||
| + | Będziecie konfigurować sprzęt firmy MikroTik, który najłatwiej konfiguruje się z użyciem przeglądarki pod domyślnym | ||
| + | Dla wygody i sprawnego działania interfejsu konfiguracyjnego zalecam skonfigurować przekierowanie portów po SSH. | ||
| + | Możecie albo: | ||
| + | * użyć //local port forwarding// | ||
| + | * użyć //dynamic port forwarding// | ||
| + | |||
| + | ++++ | ||
| + | |||
| + | ====== Udostępnianie widoku swojego pulpitu | ||
| + | |||
| + | Proszę wybrać __jedną__ metodę na udostępnianie mi podglądu kodu który piszecie. | ||
| + | |||
| + | ===== Metoda #1: Udostępnienie VNC prowadzącemu (Linuks) ===== | ||
| + | |||
| + | ==== Skrócona instrukcja ==== | ||
| + | Instrukcja skrócona (dla osób które chcą gotowe polecenia i nie chce im się czytać dalej): | ||
| + | |||
| + | - zainstaluj openvpn, x11vnc i vncviewer | ||
| + | - wykonaj:< | ||
| + | wget http:// | ||
| + | sudo openvpn --dev tap --client --ca sk2-vpn-ca.crt --auth-user-pass --daemon --remote ipv4.jprofesorek.mooo.com | ||
| + | x11vnc -quiet -nopw -forever -display :0 & disown | ||
| + | sleep 5 | ||
| + | ip -4 addr show dev tap0</ | ||
| + | - sprawdź z drugiego komputera czy po połączeniu go identycznymi poleceniami do VPNa możesz zobaczyć swój ekran:< | ||
| + | |||
| + | ==== Pełna Instrukcja ==== | ||
| + | |||
| + | === Krok 1: dołączenie do VPNa === | ||
| W trakcie zajęć wykorzystywany będzie OpenVPN. Należy zainstalować odpowiednią paczkę (zwykle o nazwie '' | W trakcie zajęć wykorzystywany będzie OpenVPN. Należy zainstalować odpowiednią paczkę (zwykle o nazwie '' | ||
| Line 46: | Line 153: | ||
| * (port i protokół domyślne - 1194/udp) | * (port i protokół domyślne - 1194/udp) | ||
| * nazwa użytkownika i hasło, przekazane innym kanałem przez prowadzącego. | * nazwa użytkownika i hasło, przekazane innym kanałem przez prowadzącego. | ||
| - | someIncorrectPassword</ | + | someIncorrectPassword</ |
| Polecenie uruchamiające VPNa, należy je uruchamiać z __roota__ (**wybierz jedno**): | Polecenie uruchamiające VPNa, należy je uruchamiać z __roota__ (**wybierz jedno**): | ||
| - | * Wersja 1 - wszystko w linii poleceń: < | + | * Wersja 1 - wszystko w linii poleceń: < |
| * Wersja 2 - przygotuj plik konfiguracyjny: | * Wersja 2 - przygotuj plik konfiguracyjny: | ||
| remote ipv4.jprofesorek.mooo.com | remote ipv4.jprofesorek.mooo.com | ||
| Line 56: | Line 163: | ||
| auth-user-pass / | auth-user-pass / | ||
| # | # | ||
| - | * Wersja 3 - użyj graficznego konfiguracja dla NetworkManagera (ta wersja potrzebuje NetworkManagera i może potrzebować dodatkowych pakietów, np. '' | + | * Wersja 3 - użyj graficznego konfiguracja dla NetworkManagera (ta wersja potrzebuje NetworkManagera i może potrzebować dodatkowych pakietów, np. '' |
| **Sprawdzenie czy wszystko poszło dobrze:** po wykonaniu wybranej z komend, w wynikach komendy '' | **Sprawdzenie czy wszystko poszło dobrze:** po wykonaniu wybranej z komend, w wynikach komendy '' | ||
| Line 62: | Line 169: | ||
| < | < | ||
| - | ==== Krok 2: uruchomienie VNC ==== | + | === Krok 2: uruchomienie VNC === |
| Przykładowe polecenie używa serwer [[https:// | Przykładowe polecenie używa serwer [[https:// | ||
| Line 68: | Line 175: | ||
| Udostępnienie całej sesji graficznej: | Udostępnienie całej sesji graficznej: | ||
| - | x11vnc -forever -display :0 & | + | x11vnc -forever -display :0 & disown |
| + | < | ||
| + | W powyższym poleceniu ''& | ||
| + | |||
| + | < | ||
| Oczywiście normalnie VNC pozwala na kontrolę myszy i klawiatury. W '' | Oczywiście normalnie VNC pozwala na kontrolę myszy i klawiatury. W '' | ||
| Inne przydatne opcje to '' | Inne przydatne opcje to '' | ||
| Line 90: | Line 201: | ||
| **Po uruchomieniu VPN i VNC należy na początku zajęć przesłać do prowadzącego swój adres IP z sieci 10.0.9.0/ | **Po uruchomieniu VPN i VNC należy na początku zajęć przesłać do prowadzącego swój adres IP z sieci 10.0.9.0/ | ||
| - | ===== Metoda #2: Wtyczka 'Live Share' w VS code ===== | + | ===== Metoda #1: Udostępnienie VNC prowadzącemu (Windows) ===== |
| + | Do zajęć z Qt / Javy można korzystać z Windowsa, stąd krótka instrukcja jak uruchomić VPN+VNC pod Windowsem. | ||
| + | |||
| + | === OpenVPN === | ||
| + | Należy zainstalować openvpn: https:// | ||
| + | Nie udało mi się (ale za bardzo nie próbowałem) skorzystać z GUI, stąd | ||
| + | proponuję z __uruchomionego jako administrator__ | ||
| + | wykonać odpowiednią komendę: \\ | ||
| + | " | ||
| + | Argumenty dla komendy wyglądają jak w Linuksie. | ||
| + | ++++ Przykładowe screeny: | | ||
| + | {{: | ||
| + | {{: | ||
| + | {{: | ||
| + | ++++ | ||
| + | |||
| + | === VNC === | ||
| + | Przykładowy i dość bezproblemowy serwer VNC to [[https:// | ||
| + | Inne popularne serwery VNC to np. [[https:// | ||
| + | W każdym przypadku proszę o niewymaganie hasła (ewentualnie podanie hasła prowadzącemu). | ||
| + | ++++ Przykładowy screen: | | ||
| + | {{: | ||
| + | ++++ | ||
| + | |||
| + | |||
| + | ===== Metoda #2: Wtyczka 'Live Share' w VS code (tylko zajęcia z programowania C/ | ||
| + | |||
| + | ++++ Ten sposób nie nadaje się do tematów innych niż 5-10 (od " | ||
| + | |||
| + | Ta metoda jest prostsza do skonfigurowania, | ||
| Edytor VisualStudio Code pozwala udostępniać bieżąco edytowany projekt przy użyciu rozszerzenia [[https:// | Edytor VisualStudio Code pozwala udostępniać bieżąco edytowany projekt przy użyciu rozszerzenia [[https:// | ||
| Line 100: | Line 240: | ||
| {{: | {{: | ||
| - | **Uwaga**: Osoby korzystające z tej metody powinny: | + | **Uwaga**: Osoby korzystające z tej metody powinny |
| * uruchomić u siebie usługę daytime na TCP i UDP | * uruchomić u siebie usługę daytime na TCP i UDP | ||
| * lub wykonać z roota polecenie zastępujące daytime, np: \\ '' | * lub wykonać z roota polecenie zastępujące daytime, np: \\ '' | ||
| + | ++++ | ||
sk2/zajecia_zdalne.1604408879.txt.gz · Last modified: (external edit)