{"id":841,"date":"2019-06-28T10:39:07","date_gmt":"2019-06-28T10:39:07","guid":{"rendered":"http:\/\/kapica.it\/?p=841"},"modified":"2021-10-27T10:48:08","modified_gmt":"2021-10-27T10:48:08","slug":"active-directory-na-domenie-samba-4","status":"publish","type":"post","link":"http:\/\/kapica.it\/?p=841","title":{"rendered":"Active Directory na domenie Samba 4"},"content":{"rendered":"<p>&nbsp;<\/p>\n<p>Na pocz\u0105tek przypomnienie kilku podstawowych komend linux:<\/p>\n<p>&#8211; sprawdzanie b\u0142\u0119d\u00f3w dysku (badblocks)<br \/>\nsudo badblocks -sv \/dev\/sda<\/p>\n<p>sudo poweroff<br \/>\nsudo reboot<\/p>\n<p>reset kolor\u00f3w terminala<br \/>\nsetterm &#8211;default<br \/>\nsetterm &#8211;foreground green default<\/p>\n<p>&#8211; montowanie pendrive<br \/>\nsprawdzam nazw\u0119 partycji za pomoc\u0105 fdisk -l<br \/>\nmontuje<br \/>\nmount \/dev\/sdb1 \/mnt<\/p>\n<p>umount<br \/>\numount \/dev\/sdb1<\/p>\n<p>&#8211; wykaz nazw wszystkich interfejs\u00f3w sieciowych<br \/>\nifconfig -a<\/p>\n<hr \/>\n<p><strong>Instalacja Samby jako kontrolera domeny pe\u0142ni\u0105cego rol\u0119 rutera z serwerem DHCP<br \/>\n<\/strong><\/p>\n<hr \/>\n<p>Poni\u017csza instrukcja dotyczy instalacji na serwerze Ubuntu w wersji 16.04.<\/p>\n<p>Instalujemy serwer domy\u015blnie, ustaw nazw\u0119 komputera na tak\u0105 jak\u0105 ma mie\u0107 ten kontroler domeny. Internet pod\u0142\u0105czamy do interfejsu, kt\u00f3ry p\u00f3\u017aniej b\u0119dzie interfejsem WAN serwera.<\/p>\n<p>1. sudo passwd root<br \/>\n(od tej pory b\u0119dzie dzia\u0142a\u0107 su)<\/p>\n<p>2. 0bowi\u0105zkowo upewnij si\u0119 pingiem czy jest skonfigurowany internet, je\u015bli nie &#8211; popraw<br \/>\nSprawdzenie nazw interfejs\u00f3w sieciowych<br \/>\nifconfig -a<\/p>\n<p>Dopisujemy do pliku \/etc\/network\/interfaces sw\u00f3j interfejs (na razie na auto)<br \/>\nsudo nano \/etc\/network\/interfaces<\/p>\n<p># Pierwszy interfejs sieciowy &#8211; u\u017cyj DHCP<br \/>\nauto eno1<br \/>\niface eno1 inet dhcp<\/p>\n<p>Restart sieci &#8211; najpewniej -&gt; reboot albo:<br \/>\nsudo \/etc\/init.d\/networking restart<\/p>\n<p>3. Dokonaj aktualizacji pakiet\u00f3w<br \/>\n$ sudo apt-get update<br \/>\n$ sudo apt-get upgrade<br \/>\n$ sudo apt-get dist-upgrade<\/p>\n<p>4. Zainstaluj mc<br \/>\nsudo apt-get install mc<\/p>\n<p>5. Ustaw nazw\u0119 hosta maszyny na tak\u0105 jak\u0105 chcesz\u00a0 (najlepiej ustaw to od razu przy instalacji)<\/p>\n<p>$ sudo nano \/etc\/hostname<br \/>\n(Restart komputera jest niezb\u0119dny)<\/p>\n<p>6. Instalacja wymaganych pakiet\u00f3w<\/p>\n<p>sudo apt-get install samba krb5-user krb5-config winbind libpam-winbind libnss-winbind<\/p>\n<p>Podczas instalacji samby pojawi si\u0119 kilka pyta\u0144 dotycz\u0105cych nazw domenowych:<\/p>\n<p>(w pytaniu pierwszym wpisujemy wielkimi literami DOMENA.LOCAL)<br \/>\n(w pytaniu drugim i trzecim domena.local)<\/p>\n<p>7. USTAW STA\u0141E IP NA INTERFEJSIE, KT\u00d3RY P\u00d3\u0179NIEJ B\u0118DZIE LAN&#8217;em &#8211; drugiego interfejsu nie konfiguruj<br \/>\nnano \/etc\/network\/interfaces<br \/>\n#interfejs LAN<br \/>\nauto eno1<br \/>\niface eno1 inet static<br \/>\naddress 192.168.1.2<br \/>\ngateway 192.168.1.1<br \/>\nnetmask 255.255.255.0<br \/>\nnetwork 192.168.1.0<br \/>\nbroadcast 192.168.1.255<br \/>\n#dns-nameservers 127.0.0.1\u00a0 \/\/zostaw komentarz &#8211; usuniesz to dopiero po uruchomieniu samby<br \/>\ndns-nameservers 192.168.1.1<br \/>\ndns-search domena.local<\/p>\n<p>Nast\u0119pnie wykonaj reboot.<\/p>\n<p>8. Zatrzymanie i zablokowanie samby do konfiguracji<\/p>\n<p>$ sudo systemctl stop samba-ad-dc.service smbd.service nmbd.service winbind.service<br \/>\n$ sudo systemctl disable samba-ad-dc.service smbd.service nmbd.service winbind.service<\/p>\n<p>9. Przenosimy plik domy\u015blnej konfiguracji samby<br \/>\n$ sudo mv \/etc\/samba\/smb.conf \/etc\/samba\/smb.conf.initial<\/p>\n<p>10. Przenosimy plik domy\u015blnej konfiguracji kerberos<br \/>\n$ sudo mv \/etc\/krb5.conf \/etc\/krb5.conf.initial<\/p>\n<p>11. Tworzymy symlink do konfiguracji kerberosa<br \/>\n$ sudo ln \u2013s \/var\/lib\/samba\/private\/krb5.conf \/etc\/<\/p>\n<p>(sprawdzenieczy jest OK:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ls -l \/etc\/krb5.conf )<\/p>\n<hr \/>\n<p>12. <strong>Provisionowanie domeny<\/strong> (przed use i przed interactive s\u0105 po dwa &#8222;-&#8222;)<br \/>\n$ sudo samba-tool domain provision &#8211;use-rfc2307 &#8211;interactive<\/p>\n<p>Podajemy w REALM: nazw\u0119 domeny WIELKIMI LITERAMI czyli DOMENA.LOCAL<br \/>\ndalej entery a\u017c do has\u0142a administratora (musi by\u0107 silne)!<\/p>\n<p>13. Uruchomienie i odblokowanie samba ad dc<br \/>\n$ sudo systemctl start samba-ad-dc.service<br \/>\n$ sudo systemctl status samba-ad-dc.service<br \/>\n$ sudo systemctl enable samba-ad-dc.service<\/p>\n<p>14. Sprawd\u017a czy samba pootwiera\u0142a porty<br \/>\n$ sudo netstat \u2013tulpn| egrep \u2018smbd|samba\u2019<\/p>\n<p>15. Sprawd\u017a jak samba emuluje Windows Server:<br \/>\n$ sudo samba-tool domain level show<\/p>\n<p>16. Zmie\u0144 ustawienia interfejsu &#8211; dodaj localhosta jako dns<br \/>\nnano \/etc\/network\/interfaces<br \/>\n#interfejs LAN<br \/>\nauto eno1<br \/>\niface eno1 inet static<br \/>\naddress 10.0.0.1<br \/>\ngateway 10.0.0.1<br \/>\nnetmask 255.255.255.0<br \/>\nnetwork 10.0.0.0<br \/>\nbroadcast 10.0.0.255<br \/>\ndns-nameservers 127.0.0.1<br \/>\ndns-nameservers 192.168.1.1<br \/>\ndns-search domena.local<\/p>\n<p>Nast\u0119pnie -&gt; reboot<\/p>\n<p>17. Sprawd\u017a czy w pliku resolv.conf jest zapisany DNS 127.0.0.1 i czy ma opcj\u0119 &#8222;search&#8221; ustawion\u0105 na domen\u0119<\/p>\n<p>18. sprawd\u017a czy da si\u0119 pingowa\u0107 domen\u0119 i serwer:<\/p>\n<p>$ ping \u2013c3 sbsmen.edu.pl\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 #Domain Name<br \/>\n$ ping \u2013c3 sbs2008.sbsmen.edu.pl\u00a0 #FQDN<br \/>\n$ ping \u2013c3 sbs2008\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 #Host<\/p>\n<p>19. Sprawd\u017a czy samba prawid\u0142owo widzi domen\u0119<\/p>\n<p>$ host \u2013t A tecmint.lan<br \/>\n$ host \u2013t A adc1.tecmint.lan<br \/>\n$ host \u2013t SRV _kerberos._udp.tecmint.lan\u00a0 # UDP Kerberos SRV record<br \/>\n$ host -t SRV _ldap._tcp.tecmint.lan # TCP LDAP SRV record<\/p>\n<p>20. Sprawd\u017a czy Kerberos dzia\u0142a<\/p>\n<p>$ kinit administrator@SBSMEN.EDU.PL<br \/>\n$ klist<\/p>\n<hr \/>\n<p><strong>Wst\u0119pna konfiguracja Samby<\/strong><\/p>\n<p>21. Sprawdzenie restrykcji hase\u0142 domenowych:<br \/>\nsudo samba-tool domain passwordsettings show<\/p>\n<p>22. Usuni\u0119cie zb\u0119dnych restrykcji hase\u0142:<br \/>\nsudo samba-tool domain passwordsettings set &#8211;complexity=off<br \/>\nsudo samba-tool domain passwordsettings set &#8211;history-length=0<br \/>\nsudo samba-tool domain passwordsettings set &#8211;min-pwd-age=0<br \/>\nsudo samba-tool domain passwordsettings set &#8211;max-pwd-age=0<br \/>\nsudo samba-tool domain passwordsettings set &#8211;min-pwd-length=5<\/p>\n<p>23. Synchronizacja czasu &#8211; <strong>serwer ntp<\/strong>:<\/p>\n<p>a. Instalujemy w\u0142asny serwer ntp<br \/>\n$ sudo apt-get install ntp ntpdate<\/p>\n<p>b. Otwieramy plik konfiguracyjny i ustawiamy najbli\u017csze serwery czasu.<\/p>\n<hr \/>\n<p>24.Instalujemy <strong>serwer DHCP<\/strong><\/p>\n<p>Instalacja serwera dhcp (trzeba zrobi\u0107 jak jeszcze b\u0119dzie dost\u0119p do internetu)<br \/>\nsudo apt-get install isc-dhcp-server<\/p>\n<p>25. Konfiguracja serwera DHCP dwa pliki:<br \/>\nedytujemy plik \/etc\/dhcp\/dhcpd.conf<\/p>\n<p>dodaj\u0105c \/ zmieniaj\u0105c wpisy:<\/p>\n<p>ddns-updates on;<br \/>\noption domain-name &#8222;sbsmen.edu.pl&#8221;;<br \/>\noption domain-name-servers 192.168.2.200, 192.168.2.200;<br \/>\noption netbios-name-servers 192.168.2.200;<br \/>\noption ntp-servers 192.168.2.200;<br \/>\ndefault-lease-time 600;<br \/>\nmax-lease-time 7200;<br \/>\nlog-facility local7;<br \/>\nsubnet 192.168.2.0<br \/>\nnetmask 255.255.255.0 {<br \/>\nrange 192.168.2.10 192.168.2.100;<br \/>\noption routers 192.168.2.200; }<\/p>\n<p>nast\u0119pnie w pliku\u00a0 \/etc\/default\/isc-dhcp-server<br \/>\ndodajemy konkretny interfejs na kt\u00f3rym b\u0119dzie pracowa\u0107 serwer dhcp<\/p>\n<p>INTERFACES=&#8221;eno1&#8243;<\/p>\n<p>teraz testowanie:<br \/>\nSerwer uruchamiamy poleceniem: \/etc\/init.d\/isc-dhcp-server start<br \/>\nStatus serwera sprawdzamy poleceniem: \/etc\/init.d\/isc-dhcp-server status<br \/>\n(je\u017celi jest co\u015b na czerwono &#8211; szuka\u0107 liter\u00f3wki w konfiguracji)<\/p>\n<p>Nast\u0119pnie mo\u017cna pod\u0142\u0105czy\u0107 stacje robocz\u0105 i sprawdzi\u0107 czy otrzymuje prawid\u0142owo dzier\u017caw\u0119.<\/p>\n<hr \/>\n<p>26. Konfiguracja serwera jako router<\/p>\n<p><strong>FIREWALL i NAT<\/strong><\/p>\n<p>W pliku \/etc\/sysctl.conf trzeba odkomentowa\u0107 opcj\u0119:<\/p>\n<p>net.ipv4.ip_forward=1<\/p>\n<p>Utw\u00f3rz nowy plik tekstowy\u00a0 \/etc\/dowolny_katalog\/firewall.sh<\/p>\n<p>W \u015brodku wklej tre\u015b\u0107:<\/p>\n<p>#!\/bin\/bash<br \/>\nINTIF=\u201deth1\u201d<br \/>\nINTNET=\u201d192.168.100.0\/24\u201d<br \/>\nINTIP=\u201d192.168.100.254\u201d<br \/>\nEXTIF=\u201deth0\u201d<br \/>\nEXTIP=\u201d`\/sbin\/ifconfig $EXTIF | grep \u201ainet addr\u2019 | awk \u201a{print $2}\u2019 | sed -e \u201as\/.*:\/\/\u2019`\u201d<br \/>\nUNIVERSE=\u201d0.0.0.0\/0\u201d<\/p>\n<p>iptables -P INPUT ACCEPT<br \/>\niptables -F INPUT<br \/>\niptables -P OUTPUT ACCEPT<br \/>\niptables -F OUTPUT<br \/>\niptables -P FORWARD ACCEPT<br \/>\niptables -F FORWARD<br \/>\niptables -F -t nat<\/p>\n<p>if [ \u201e`iptables -L | grep droplog`\u201d ]; then<br \/>\niptables -F droplog<br \/>\nfi<br \/>\niptables -X<br \/>\niptables -Z<\/p>\n<p># W\u0142\u0105czenie routowania<br \/>\niptables -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE<br \/>\niptables -A FORWARD -i $EXTIF -o $INTIF -m conntrack \u2014ctstate ESTABLISHED,RELATED -j ACCEPT<\/p>\n<p>Nadajemy plikowi prawo do wykonania tego pliku:<\/p>\n<p>sudo chmod a+x \/etc\/mojserwer\/testf.sh<\/p>\n<p>Teraz mo\u017cemy ju\u017c uruchomi\u0107 przygotowany firewall:<\/p>\n<p>sudo sh \/etc\/mojserwer\/testf.sh<\/p>\n<p>\u2013 i sprawdzi\u0107, czy hosty podpi\u0119te do interfejsu LAN mog\u0105 po\u0142\u0105czy\u0107 si\u0119 z internetem.<\/p>\n<p>Uwaga! Skrypt musi si\u0119 wykona\u0107 bez \u017cadnego b\u0142\u0119du. Je\u015bli masz z tym problem sprawd\u017a czy masz prawid\u0142owe znaki ko\u0144ca linii (edytor vi -&gt; znaki ^M trzeba pousuwa\u0107).<\/p>\n<p>Uruchamianie firewall przy starcie systemu -&gt;\u00a0 w pliku \/etc\/rc.local dopisujemy linijk\u0119:<\/p>\n<p>\/etc\/nazwa_folderu_z_plikiem_firewall\/firewall.sh<\/p>\n<p>(przed exit 0)<\/p>\n<hr \/>\n<p>27. Gdyby by\u0142 problem z domy\u015bln\u0105 bram\u0105 (nie ma internetu na serwerze):<br \/>\nsprawdzanie regu\u0142 iptables<br \/>\niptables -L -n -v<\/p>\n<p>sprawdzenie domy\u015blnego interfejsu na serwerze<br \/>\nip route list<\/p>\n<p>zmiana domy\u015blnego interfejsu dla internetu<br \/>\nsudo ip route change to default dev usb0 via 192.168.1.1<\/p>\n<p>Doda\u0142em to do pliku firewalla &#8211; uruchamia si\u0119 przy starcie systemu i dzia\u0142a!<\/p>\n<p>Uwaga! Przy prawid\u0142owej instalacji, gdy internet jest od pocz\u0105tku na interfejsie WAN nie powinno by\u0107 tego problemu.<\/p>\n<hr \/>\n<p><strong>Dodatek 1:<\/strong><\/p>\n<p>Zmiana adresu ip domeny:<br \/>\nDodaj drugi, nowy IP do interfejsu sieciowego (eno1:1).<br \/>\n-&gt; reboot<br \/>\nSprawd\u017a czy host -t A domena.local\u00a0 pokazuje oba adresy.<br \/>\nUsu\u0144 stary adres IP interfejsu domeny.<br \/>\n-&gt; reboot<\/p>\n<p>Nale\u017cy jeszcze raz na ko\u0144c\u00f3wkach do\u0142\u0105czy\u0107 komputery do domeny! (z konta lokalnego).<\/p>\n<hr \/>\n<p><strong>Konfiguracja AD (u\u017cytkownicy, konta, GPO)<\/strong><\/p>\n<p>Konfiguracj\u0119 AD oraz restykcje polityk GPO ustawiamy poprzez narz\u0119dzia Microsoft z pakietu RSAT.<\/p>\n<p>\u015aci\u0105gnij odpowiedni\u0105 wersj\u0119 ze stron Microsoft.<\/p>\n<p>Uwaga! Wersja RSAT musi by\u0107 dobrana do wersji kompilacji Windows 10 inaczej nie b\u0119dzie dzia\u0142a\u0142a prawid\u0142owo (nie mo\u017cna nic dodawa\u0107 ani zmienia\u0107, nie ma komunikat\u00f3w o b\u0142\u0119dach).<\/p>\n<p>Nast\u0119pnie zaloguj si\u0119 na komputerze pod\u0142\u0105czonym do domeny na konto administratora domeny i korzystaj z odpowiedniego narz\u0119dzia.<\/p>\n<p>Logowanie na konto administratora domeny nale\u017cy poprzedzi\u0107 nazw\u0105 domeny,np.<\/p>\n<p>domena\\administrator<\/p>\n<p>Konfiguracji mo\u017cna dokonywa\u0107 r\u00f3wnie\u017c z innych kont z uprawnieniami administratora.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; Na pocz\u0105tek przypomnienie kilku podstawowych komend linux: &#8211; sprawdzanie b\u0142\u0119d\u00f3w dysku (badblocks) sudo badblocks -sv \/dev\/sda sudo poweroff sudo reboot reset kolor\u00f3w terminala setterm &#8211;default setterm &#8211;foreground green default &#8211; montowanie pendrive sprawdzam nazw\u0119 partycji za pomoc\u0105 fdisk -l montuje mount \/dev\/sdb1 \/mnt umount umount \/dev\/sdb1 &#8211; wykaz nazw wszystkich interfejs\u00f3w sieciowych ifconfig -a&#8230;<\/p>\n","protected":false},"author":1,"featured_media":745,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[4,3,159],"tags":[132,133,134],"_links":{"self":[{"href":"http:\/\/kapica.it\/index.php?rest_route=\/wp\/v2\/posts\/841"}],"collection":[{"href":"http:\/\/kapica.it\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/kapica.it\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/kapica.it\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/kapica.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=841"}],"version-history":[{"count":4,"href":"http:\/\/kapica.it\/index.php?rest_route=\/wp\/v2\/posts\/841\/revisions"}],"predecessor-version":[{"id":845,"href":"http:\/\/kapica.it\/index.php?rest_route=\/wp\/v2\/posts\/841\/revisions\/845"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/kapica.it\/index.php?rest_route=\/wp\/v2\/media\/745"}],"wp:attachment":[{"href":"http:\/\/kapica.it\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=841"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/kapica.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=841"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/kapica.it\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=841"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}