Second version
This commit is contained in:
		
							parent
							
								
									571c56e3c9
								
							
						
					
					
						commit
						9099a218fa
					
				
							
								
								
									
										3
									
								
								.env
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								.env
									
									
									
									
									
								
							| @ -1,3 +1,4 @@ | ||||
| PRIMARYIP=192.168.110.4 | ||||
| SECONDARYIP=192.168.110.34 | ||||
| RESTOREDIP=192.168.110.10 | ||||
| RESTOREDIP=192.168.110.12 | ||||
| FORWARDERIP=192.168.110.10 | ||||
|  | ||||
							
								
								
									
										66
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										66
									
								
								README.md
									
									
									
									
									
								
							| @ -22,16 +22,16 @@ phpLDAPadminを使用する場合は、バージョン1.2.3をダウンロード | ||||
| wget https://github.com/leenooks/phpLDAPadmin/archive/refs/tags/1.2.3.tar.gz -O packages/phpLDAPadmin-1.2.3.tar.gz | ||||
| ``` | ||||
| 
 | ||||
| ### ベースとなるイメージを作成する | ||||
| ### ベースとなるイメージを作成 | ||||
| 
 | ||||
| Samba ad dcイメージのベースとなるイメージを作成する。   | ||||
| スクリプトの修正等でコンテナを作り直す際に、最低限のダウンロードで済ませるため。 | ||||
| 
 | ||||
| ``` | ||||
| ./mkbaseimage.sh | ||||
| sudo baseimage/mkbaseimage.sh | ||||
| ``` | ||||
| 
 | ||||
| ### 目的のdocker-compose.ymlを作成する | ||||
| ### 目的のdocker-compose.ymlを作成 | ||||
| 
 | ||||
| プライマリーDC、セカンダリーDC、リストアドDCの3種類を用意しているので、いずれかをコピーする。   | ||||
| ここではプライマリーDCについて説明する。 | ||||
| @ -40,13 +40,15 @@ Samba ad dcイメージのベースとなるイメージを作成する。 | ||||
| cp docker-compose.yml.primary docker-compose.yml | ||||
| ``` | ||||
| 
 | ||||
| ### ホストのIPアドレスを設定する | ||||
| ### ホストのIPアドレスを設定 | ||||
| 
 | ||||
| .envにプライマリーDC、セカンダリーDC、リストアドDCのコンテナを動作させるホストのIPアドレスを設定する。   | ||||
| ホームラボのホストが指定してあるので、適宜変更する。   | ||||
| あわせて各DCのフォワード先IPアドレスを設定する。   | ||||
| 
 | ||||
| ダウンロードした.envにはホームラボのホストが指定してあるので、環境に合わせて変更する。   | ||||
| セカンダリーDC、リストアドDCを使わない場合は、未設定で問題はない。 | ||||
| 
 | ||||
| ### 動作条件を設定する | ||||
| ### 動作条件を設定 | ||||
| 
 | ||||
| docker-compose.ymlで動作条件を設定する。 | ||||
| 
 | ||||
| @ -57,7 +59,9 @@ docker-compose.ymlで動作条件を設定する。 | ||||
| | SMB_DOMAIN    | レルムのドメイン名                                             | | ||||
| | SMB_ADMINPASS | administratorのパスワード                                      | | ||||
| | SMB_HOSTIP    | コンテナを動作させるホストのIPアドレス                         | | ||||
| | SMB_FORWARD   | フォワード先となるDNSのIPアドレス                              | | ||||
| | SMB_RPC_PORTS | RPCで使用するポート範囲                                        | | ||||
| | SMB_WEB_PORTS | Apacheが使用するポート                                         | | ||||
| | SMB_PURPOSE   | "primary"として、プライマリーDCとする                          | | ||||
| | SMB_USEBIND9  | DNSの選択 "false":内蔵 "true":BIND9                            | | ||||
| | RSY_SECONDARY | セカンダリーのIPアドレス<br>SMB_PURPOSEが"primary"の場合に有効 | | ||||
| @ -65,17 +69,7 @@ docker-compose.ymlで動作条件を設定する。 | ||||
| 
 | ||||
| ※SMB_PURPOSEは、"secondary"と"restore"を指定可能だが、それぞれ別にymlを用意してあるので、それを使うこと。 | ||||
| 
 | ||||
| #### ports: | ||||
| 
 | ||||
| IPアドレスを指定してポートをマッピングしている。   | ||||
| コンテナを動作させるホストのIPアドレスを設定する。 | ||||
| 
 | ||||
| #### dns: | ||||
| 
 | ||||
| Samba ad dcが名前解決でフォワードするDNSのIPアドレスを設定する。   | ||||
| ホームラボのDNSを指定してあるので、適宜変更する。 | ||||
| 
 | ||||
| ### 証明書類を準備する | ||||
| ### 証明書類を準備 | ||||
| 
 | ||||
| ドメインで使用する証明書類をpackages/cert に配置する。   | ||||
| 証明書の名前は以下の通り固定。変更する場合は、config-*.shを変更すること。 | ||||
| @ -94,16 +88,27 @@ Samba ad dcが名前解決でフォワードするDNSのIPアドレスを設定 | ||||
| 
 | ||||
| ### ファイアウォールの設定 | ||||
| 
 | ||||
| コンテナからホストへのアクセスを許可する。 | ||||
| 
 | ||||
| コンテナのIPアドレスはdocker-compose.ymlで指定したもの。   | ||||
| 変更した場合には、fromのIPアドレスを書き換えること。   | ||||
| また、toはコンテナを動作させるホストのIPアドレスを指定する。 | ||||
| ファイアウォールを設定するスクリプトを実行する。 | ||||
| 
 | ||||
| ``` | ||||
| sudo ufw allow from 172.26.0.101 to 192.168.110.4 comment "From container" | ||||
| sudo ./setufw.sh | ||||
| ``` | ||||
| 
 | ||||
| このスクリプトはどこから接続されても良い、という設定をしているので、接続元を限定したい場合には、 | ||||
| 
 | ||||
| ``` | ||||
| ufw $1 allow to any port   53 proto any from any comment "DNS" | ||||
| ``` | ||||
| 
 | ||||
| の from のところに限定したい範囲を書いておく。 | ||||
| 
 | ||||
| 何らかの理由で追加したファイアウォールの設定を解除するなら、以下を実行する。 | ||||
| 
 | ||||
| ``` | ||||
| sudo ./setufw.sh delete | ||||
| ``` | ||||
| 
 | ||||
| 
 | ||||
| ### コンテナを起動 | ||||
| 
 | ||||
| コンテナを構築して起動する。 | ||||
| @ -121,8 +126,8 @@ phpLDAPadminとLDAP Account Managerのポート8081にリバースプロキシ | ||||
| /etc/apache2/sites-available/myservice.conf | ||||
| ``` | ||||
| <VirtualHost *:443> | ||||
|     ServerAdmin webmaster@hogeserver.hogeddns.jp | ||||
|     ServerName addc.hogeserver.hogeddns.jp | ||||
|     ServerAdmin webmaster@example.net | ||||
|     ServerName addc.example.net | ||||
|     DocumentRoot /var/www/html | ||||
| 
 | ||||
|     ErrorLog ${APACHE_LOG_DIR}/error.log | ||||
| @ -136,8 +141,8 @@ phpLDAPadminとLDAP Account Managerのポート8081にリバースプロキシ | ||||
| 
 | ||||
|     # SSL | ||||
|     SSLEngine on | ||||
|     SSLCertificateFile /etc/ssl/private/wild.hoge.crt | ||||
|     SSLCertificateKeyFile /etc/ssl/private/wild.hoge.key | ||||
|     SSLCertificateFile /etc/ssl/private/example.net.crt | ||||
|     SSLCertificateKeyFile /etc/ssl/private/example.net.key | ||||
| </VirtualHost> | ||||
| ``` | ||||
| 
 | ||||
| @ -149,7 +154,8 @@ sudo a2enmod proxy_http ssl | ||||
| sudo systemctl restart apache2 | ||||
| ``` | ||||
| 
 | ||||
| なお、リバースプロキシ設定せずに、8081ポートに直接アクセスすることもできる。 | ||||
| なお、リバースプロキシ設定せずに、8081ポートに直接アクセスすることもできる。   | ||||
| この場合にはファイアウォールで8081/tcpを解放する。 | ||||
| 
 | ||||
| 
 | ||||
| ## 使用方法 | ||||
| @ -160,10 +166,10 @@ sudo docker exec -it samba bash --login | ||||
| ``` | ||||
| 
 | ||||
| phpLDAPadminにはブラウザでアクセスできる。ドメイン部分は環境に合わせる。   | ||||
| https://addc.hogeserver.hogeddns.jp/phpldapadmin | ||||
| https://addc.example.net/phpldapadmin | ||||
| 
 | ||||
| LDAP Account Managerも同様。   | ||||
| https://addc.hogeserver.hogeddns.jp/lam | ||||
| https://addc.example.net/lam | ||||
| 
 | ||||
| 
 | ||||
| ## その他 | ||||
|  | ||||
							
								
								
									
										3
									
								
								baseimage/mkbaseimage.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										3
									
								
								baseimage/mkbaseimage.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,3 @@ | ||||
| #!/bin/bash | ||||
| cd $(dirname ${0}) | ||||
| docker build -t custom/samba:0.0.1 -f $PWD/Dockerfile . | ||||
| @ -8,11 +8,13 @@ services: | ||||
|     restart: unless-stopped | ||||
|     environment: | ||||
|       TZ: Asia/Tokyo | ||||
|       SMB_REALM: HOGESERVER.HOGEDDNS.JP | ||||
|       SMB_REALM: EXAMPLE.NET | ||||
|       SMB_DOMAIN: HOGEDOMAIN | ||||
|       SMB_ADMINPASS: p@ssword123 | ||||
|       SMB_HOSTIP: ${PRIMARYIP} | ||||
|       SMB_FORWARD: ${FORWARDERIP} | ||||
|       SMB_RPC_PORTS: 49152-49200 | ||||
|       SMB_WEB_PORTS: 8081 | ||||
|       SMB_PURPOSE: "primary" | ||||
|       SMB_USEBIND9: "false" | ||||
|      #RSY_SECONDARY: ${SECONDARYIP} | ||||
| @ -23,47 +25,13 @@ services: | ||||
|       - bind_etc:/etc/bind | ||||
|       - bind_lib:/var/lib/bind | ||||
|       - lam:/var/lib/ldap-account-manager | ||||
|     networks: | ||||
|       samba: | ||||
|         ipv4_address: 172.26.0.101 | ||||
|     ports: | ||||
|       - ${PRIMARYIP}:53:53       #DNS | ||||
|       - ${PRIMARYIP}:53:53/udp   #DNS | ||||
|       - ${PRIMARYIP}:135:135     #End Point Mapper(WINS) | ||||
|       - ${PRIMARYIP}:137:137/udp #NetBIOS Name Service | ||||
|       - ${PRIMARYIP}:138:138/udp #NetBIOS Datagram | ||||
|       - ${PRIMARYIP}:139:139     #NetBIOS Session | ||||
|       - ${PRIMARYIP}:445:445     #SMB over TCP | ||||
|       - ${PRIMARYIP}:389:389     #LDAP | ||||
|       - ${PRIMARYIP}:389:389/udp #LDAP | ||||
|       - ${PRIMARYIP}:636:636     #LDAPS | ||||
|       - ${PRIMARYIP}:88:88       #Kerberos | ||||
|       - ${PRIMARYIP}:88:88/udp   #Kerberos | ||||
|       - ${PRIMARYIP}:464:464     #Kerberos kpasswd | ||||
|       - ${PRIMARYIP}:464:464/udp #Kerberos kpasswd | ||||
|       - ${PRIMARYIP}:3268:3268   #Global Catalog | ||||
|       - ${PRIMARYIP}:3269:3269   #Global Catalog SSL | ||||
|                                  #RPC The same value as SMB_RPC_PORTS. | ||||
|       - ${PRIMARYIP}:49152-49200:49152-49200 | ||||
|       - 873:873 #rsync | ||||
|       - 8081:80 #phpLDAPadmin & LDAP Account Manager | ||||
|     network_mode: "host" | ||||
|     hostname: addc | ||||
|     dns: | ||||
|       - 192.168.110.1 | ||||
|       - ${PRIMARYIP} | ||||
|     dns_search: | ||||
|       - hogeserver.hogeddns.jp | ||||
|       - example.net | ||||
|     privileged: true | ||||
|     devices: | ||||
|       - /dev/net/tun | ||||
|     cap_add: | ||||
|       - NET_ADMIN | ||||
| 
 | ||||
| networks: | ||||
|   samba: | ||||
|     ipam: | ||||
|       config: | ||||
|         - subnet: 172.26.0.0/16 | ||||
|           gateway: 172.26.0.1 | ||||
| 
 | ||||
| volumes: | ||||
|   samba_etc: | ||||
|  | ||||
| @ -9,11 +9,13 @@ services: | ||||
|     restart: unless-stopped | ||||
|     environment: | ||||
|       TZ: Asia/Tokyo | ||||
|       SMB_REALM: HOGESERVER.HOGEDDNS.JP | ||||
|       SMB_REALM: EXAMPLE.NET | ||||
|       SMB_DOMAIN: HOGEDOMAIN | ||||
|       SMB_ADMINPASS: p@ssword123 | ||||
|       SMB_HOSTIP: ${RESTOREDIP} | ||||
|       SMB_FORWARD: ${FORWARDERIP} | ||||
|       SMB_RPC_PORTS: 49152-49200 | ||||
|       SMB_WEB_PORTS: 8081 | ||||
|       SMB_PURPOSE: "restore" | ||||
|     volumes: | ||||
|       - samba_etc:/etc/samba | ||||
| @ -21,47 +23,13 @@ services: | ||||
|       - bind_etc:/etc/bind | ||||
|       - bind_lib:/var/lib/bind | ||||
|       - lam:/var/lib/ldap-account-manager | ||||
|     networks: | ||||
|       samba: | ||||
|         ipv4_address: 172.26.0.103 | ||||
|     ports: | ||||
|       - ${RESTOREDIP}:53:53       #DNS | ||||
|       - ${RESTOREDIP}:53:53/udp   #DNS | ||||
|       - ${RESTOREDIP}:135:135     #End Point Mapper(WINS) | ||||
|       - ${RESTOREDIP}:137:137/udp #NetBIOS Name Service | ||||
|       - ${RESTOREDIP}:138:138/udp #NetBIOS Datagram | ||||
|       - ${RESTOREDIP}:139:139     #NetBIOS Session | ||||
|       - ${RESTOREDIP}:445:445     #SMB over TCP | ||||
|       - ${RESTOREDIP}:389:389     #LDAP | ||||
|       - ${RESTOREDIP}:389:389/udp #LDAP | ||||
|       - ${RESTOREDIP}:636:636     #LDAPS | ||||
|       - ${RESTOREDIP}:88:88       #Kerberos | ||||
|       - ${RESTOREDIP}:88:88/udp   #Kerberos | ||||
|       - ${RESTOREDIP}:464:464     #Kerberos kpasswd | ||||
|       - ${RESTOREDIP}:464:464/udp #Kerberos kpasswd | ||||
|       - ${RESTOREDIP}:3268:3268   #Global Catalog | ||||
|       - ${RESTOREDIP}:3269:3269   #Global Catalog SSL | ||||
|                                   #RPC The same value as SMB_RPC_PORTS. | ||||
|       - ${RESTOREDIP}:49152-49200:49152-49200 | ||||
|       - 873:873 #rsync | ||||
|       - 8081:80 #phpLDAPadmin & LDAP Account Manager | ||||
|     network_mode: "host" | ||||
|     hostname: addcr | ||||
|     dns: | ||||
|       - 192.168.110.1 | ||||
|       - ${RESTOREDIP} | ||||
|     dns_search: | ||||
|       - hogeserver.hogeddns.jp | ||||
|       - example.net | ||||
|     privileged: true | ||||
|     devices: | ||||
|       - /dev/net/tun | ||||
|     cap_add: | ||||
|       - NET_ADMIN | ||||
| 
 | ||||
| networks: | ||||
|   samba: | ||||
|     ipam: | ||||
|       config: | ||||
|         - subnet: 172.26.0.0/16 | ||||
|           gateway: 172.26.0.1 | ||||
| 
 | ||||
| volumes: | ||||
|   samba_etc: | ||||
|  | ||||
| @ -8,11 +8,13 @@ services: | ||||
|     restart: unless-stopped | ||||
|     environment: | ||||
|       TZ: Asia/Tokyo | ||||
|       SMB_REALM: HOGESERVER.HOGEDDNS.JP | ||||
|       SMB_REALM: EXAMPLE.NET | ||||
|       SMB_DOMAIN: HOGEDOMAIN | ||||
|       SMB_ADMINPASS: p@ssword123 | ||||
|       SMB_HOSTIP: ${SECONDARYIP} | ||||
|       SMB_FORWARD: ${FORWARDERIP} | ||||
|       SMB_RPC_PORTS: 49152-49200 | ||||
|       SMB_WEB_PORTS: 8081 | ||||
|       SMB_PURPOSE: "secondary" | ||||
|       SMB_USEBIND9: "false" | ||||
|       RSY_PRIMARY: ${PRIMARYIP} | ||||
| @ -23,47 +25,13 @@ services: | ||||
|       - bind_etc:/etc/bind | ||||
|       - bind_lib:/var/lib/bind | ||||
|       - lam:/var/lib/ldap-account-manager | ||||
|     networks: | ||||
|       samba: | ||||
|         ipv4_address: 172.26.0.102 | ||||
|     ports: | ||||
|       - ${SECONDARYIP}:53:53       #DNS | ||||
|       - ${SECONDARYIP}:53:53/udp   #DNS | ||||
|       - ${SECONDARYIP}:135:135     #End Point Mapper(WINS) | ||||
|       - ${SECONDARYIP}:137:137/udp #NetBIOS Name Service | ||||
|       - ${SECONDARYIP}:138:138/udp #NetBIOS Datagram | ||||
|       - ${SECONDARYIP}:139:139     #NetBIOS Session | ||||
|       - ${SECONDARYIP}:445:445     #SMB over TCP | ||||
|       - ${SECONDARYIP}:389:389     #LDAP | ||||
|       - ${SECONDARYIP}:389:389/udp #LDAP | ||||
|       - ${SECONDARYIP}:636:636     #LDAPS | ||||
|       - ${SECONDARYIP}:88:88       #Kerberos | ||||
|       - ${SECONDARYIP}:88:88/udp   #Kerberos | ||||
|       - ${SECONDARYIP}:464:464     #Kerberos kpasswd | ||||
|       - ${SECONDARYIP}:464:464/udp #Kerberos kpasswd | ||||
|       - ${SECONDARYIP}:3268:3268   #Global Catalog | ||||
|       - ${SECONDARYIP}:3269:3269   #Global Catalog SSL | ||||
|                                    #RPC The same value as SMB_RPC_PORTS. | ||||
|       - ${SECONDARYIP}:49152-49200:49152-49200 | ||||
|       - 8081:80 #phpLDAPadmin & LDAP Account Manager | ||||
|     network_mode: "host" | ||||
|     hostname: addc2 | ||||
|     dns: | ||||
|       - ${PRIMARYIP}  #Used for domain to join | ||||
|      #- 192.168.110.1 #Used for normal operation | ||||
|       - ${SECONDARYIP} | ||||
|     dns_search: | ||||
|       - hogeserver.hogeddns.jp | ||||
|       - example.net | ||||
|     privileged: true | ||||
|     devices: | ||||
|       - /dev/net/tun | ||||
|     cap_add: | ||||
|       - NET_ADMIN | ||||
| 
 | ||||
| networks: | ||||
|   samba: | ||||
|     ipam: | ||||
|       config: | ||||
|         - subnet: 172.26.0.0/16 | ||||
|           gateway: 172.26.0.1 | ||||
| 
 | ||||
| volumes: | ||||
|   samba_etc: | ||||
| @ -71,5 +39,3 @@ volumes: | ||||
|   bind_etc: | ||||
|   bind_lib: | ||||
|   lam: | ||||
| #  private: | ||||
| #  sysvol: | ||||
|  | ||||
| @ -1,3 +0,0 @@ | ||||
| #!/bin/bash | ||||
| cd $(dirname ${0}) | ||||
| sudo docker build -t custom/samba:0.0.1 -f $PWD/baseimage/Dockerfile . | ||||
| @ -14,7 +14,7 @@ if [ -z "$(ls /var/lib/samba/private)" ]; then | ||||
| 		--domain=$SMB_DOMAIN | ||||
| 		--server-role=dc | ||||
| 		--adminpass=$SMB_ADMINPASS | ||||
| 		--option=\"dns forwarder = 127.0.0.11\" | ||||
| 		--option=\"dns forwarder = $SMB_FORWARD\" | ||||
| 		--option=\"dns update command = /usr/sbin/samba_dnsupdate --current-ip $SMB_HOSTIP\" | ||||
| 		--option=\"template homedir = /home/%D/%U\" | ||||
| 		--option=\"template shell = /bin/bash\" | ||||
| @ -23,6 +23,8 @@ if [ -z "$(ls /var/lib/samba/private)" ]; then | ||||
| 		--option=\"idmap config $SMB_DOMAIN:unix_nss_info = yes\" | ||||
| 		--option=\"idmap config $SMB_DOMAIN:unix_primary_group = yes\" | ||||
| 		--option=\"rpc server dynamic port range = $SMB_RPC_PORTS\" | ||||
| 		--option=\"bind interfaces only = yes\" | ||||
| 		--option=\"interfaces = $SMB_HOSTIP 127.0.0.1\" | ||||
| 		--host-ip=$SMB_HOSTIP | ||||
| 	" | ||||
| 	if [ $SMB_USEBIND9 = "true" ]; then | ||||
| @ -122,6 +124,9 @@ EOF | ||||
| 	echo "ServerName localhost" | tee /etc/apache2/conf-available/fqdn.conf | ||||
| 	a2enconf fqdn | ||||
| 
 | ||||
| 	# Sets the port used by apache. | ||||
| 	sed -i "s/Listen 80/Listen $SMB_WEB_PORTS/" /etc/apache2/ports.conf | ||||
| 
 | ||||
| 	# Setup phpLdapAdmin. | ||||
| 	if [ -e /root/packages/phpLDAPadmin-1.2.3.tar.gz ]; then | ||||
| 		a2dismod php8.1 | ||||
| @ -164,11 +169,6 @@ fi | ||||
| #---------------------------------------------------------------------- | ||||
| echo "Setting to do every time" | ||||
| 
 | ||||
| # Resolver settings. | ||||
| cp /etc/resolv.conf /root/packages/resolv.conf | ||||
| sed -i "s/nameserver 127.0.0.11/nameserver 127.0.0.1/" /root/packages/resolv.conf | ||||
| cat /root/packages/resolv.conf > /etc/resolv.conf | ||||
| 
 | ||||
| # Switch DNS backend. | ||||
| if [ $SMB_USEBIND9 = "true" ]; then | ||||
| 	if [ ! -e /var/lib/samba/bind-dns/named.conf ]; then | ||||
| @ -179,7 +179,7 @@ if [ $SMB_USEBIND9 = "true" ]; then | ||||
| 		cp -a /etc/bind/named.conf /etc/bind/named.conf.bak | ||||
| 		sed -i "\$a include \"/var/lib/samba/bind-dns/named.conf\";" /etc/bind/named.conf | ||||
| 		cp -a /etc/bind/named.conf.options /etc/bind/named.conf.options.bak | ||||
| 		sed -i "/listen-on-v6/a\\\n\tforwarders { 127.0.0.11; };\n\tallow-query { any; };\n\tallow-transfer { none; };\n\ttkey-gssapi-keytab \"/var/lib/samba/bind-dns/dns.keytab\";\n\tminimal-responses yes;" /etc/bind/named.conf.options | ||||
| 		sed -i "/listen-on-v6/a\\\n\tforwarders { $SMB_FORWARD; };\n\tallow-query { any; };\n\tallow-transfer { none; };\n\ttkey-gssapi-keytab \"/var/lib/samba/bind-dns/dns.keytab\";\n\tminimal-responses yes;" /etc/bind/named.conf.options | ||||
| 		cp -a /etc/bind/named.conf.local /etc/bind/named.conf.local.bak | ||||
| 		sed -i "s@^//include@include@" /etc/bind/named.conf.local | ||||
| 	fi | ||||
|  | ||||
| @ -16,7 +16,10 @@ if [ -z "$(ls /var/lib/samba/private)" ]; then | ||||
| 		--backup-file=$(ls /root/packages/samba-backup-*) \ | ||||
| 		--newservername=$(hostname) \ | ||||
| 		--targetdir=/root/packages/restore \ | ||||
| 		--host-ip=$SMB_HOSTIP | ||||
| 		--host-ip=$SMB_HOSTIP \ | ||||
| 		--option="dns forwarder = $SMB_FORWARD" \ | ||||
| 		--option="bind interfaces only = yes" \ | ||||
| 		--option="interfaces = $SMB_HOSTIP 127.0.0.1" | ||||
| 
 | ||||
| 	mv /root/packages/restore/etc/* /etc/samba/ | ||||
| 	rmdir /root/packages/restore/etc | ||||
| @ -72,6 +75,9 @@ if [ ! -e /root/packages/configured ]; then | ||||
| 	echo "ServerName localhost" | tee /etc/apache2/conf-available/fqdn.conf | ||||
| 	a2enconf fqdn | ||||
| 
 | ||||
| 	# Sets the port used by apache. | ||||
| 	sed -i "s/Listen 80/Listen $SMB_WEB_PORTS/" /etc/apache2/ports.conf | ||||
| 
 | ||||
| 	# Setup phpLdapAdmin. | ||||
| 	if [ -e /root/packages/phpLDAPadmin-1.2.3.tar.gz ]; then | ||||
| 		a2dismod php8.1 | ||||
| @ -112,9 +118,4 @@ fi | ||||
| #---------------------------------------------------------------------- | ||||
| # Container and Volumes is left. | ||||
| #---------------------------------------------------------------------- | ||||
| echo "Setting to do every time" | ||||
| 
 | ||||
| # Resolver settings. | ||||
| cp /etc/resolv.conf /root/packages/resolv.conf | ||||
| sed -i "s/nameserver 127.0.0.11/nameserver 127.0.0.1/" /root/packages/resolv.conf | ||||
| cat /root/packages/resolv.conf > /etc/resolv.conf | ||||
| #echo "Setting to do every time" | ||||
|  | ||||
| @ -9,10 +9,11 @@ if [ -z "$(ls /var/lib/samba/private)" ]; then | ||||
| 
 | ||||
| 	# Make join parameters. | ||||
| 	SMB_TMP_PARAM=" | ||||
| 		--server=${RSY_PRIMARY} | ||||
| 		--username=administrator | ||||
| 		--password=$SMB_ADMINPASS | ||||
| 		--realm=$SMB_REALM | ||||
| 		--option=\"dns forwarder = 127.0.0.11\" | ||||
| 		--option=\"dns forwarder = ${SMB_FORWARD}\" | ||||
| 		--option=\"dns update command = /usr/sbin/samba_dnsupdate --current-ip $SMB_HOSTIP\" | ||||
| 		--option=\"rpc server dynamic port range = $SMB_RPC_PORTS\" | ||||
| 		--option=\"template homedir = /home/%D/%U\" | ||||
| @ -22,6 +23,8 @@ if [ -z "$(ls /var/lib/samba/private)" ]; then | ||||
| 		--option=\"idmap config $SMB_DOMAIN:unix_nss_info = yes\" | ||||
| 		--option=\"idmap config $SMB_DOMAIN:unix_primary_group = yes\" | ||||
| 		--option=\"idmap_ldb:use rfc2307 = yes\" | ||||
| 		--option=\"bind interfaces only = yes\" | ||||
| 		--option=\"interfaces = $SMB_HOSTIP 127.0.0.1\" | ||||
| 	" | ||||
| 	if [ $SMB_USEBIND9 = "true" ]; then | ||||
| 		SMB_TMP_PARAM+=" --dns-backend=BIND9_DLZ" | ||||
| @ -68,21 +71,6 @@ if [ -z "$(ls /var/lib/samba/private)" ]; then | ||||
| 	mv --backup=numbered /etc/samba/smb.conf /etc/samba/smb.conf.bak | ||||
| 	eval samba-tool domain join $SMB_REALM DC "$SMB_TMP_PARAM" | ||||
| 	if [ $? -ne 0 ]; then exit 0; fi | ||||
| 
 | ||||
| 	# Deletion of IP addresses in the container registered in Primary DNS | ||||
| 	MYHOSTIP=$(grep $(hostname) /etc/hosts | sed "s/^\(.*\)\s.*/\1/") | ||||
| 	MYHOSTNM=$(hostname) | ||||
| 	samba-tool dns update $SMB_REALM \ | ||||
| 		$SMB_REALM $MYHOSTNM \ | ||||
| 		A $MYHOSTIP $SMB_HOSTIP \ | ||||
| 		--username Administrator --password $SMB_ADMINPASS | ||||
| 	# Delete myhostip after 30 sec. | ||||
| 	/bin/bash -c "sleep 30; | ||||
| 	samba-tool dns delete localhost \ | ||||
| 		$SMB_REALM $MYHOSTNM \ | ||||
| 		A $MYHOSTIP \ | ||||
| 		--username Administrator --password $SMB_ADMINPASS | ||||
| 	" & | ||||
| fi | ||||
| 
 | ||||
| #---------------------------------------------------------------------- | ||||
| @ -131,6 +119,9 @@ EOF | ||||
| 	echo "ServerName localhost" | tee /etc/apache2/conf-available/fqdn.conf | ||||
| 	a2enconf fqdn | ||||
| 
 | ||||
| 	# Sets the port used by apache. | ||||
| 	sed -i "s/Listen 80/Listen $SMB_WEB_PORTS/" /etc/apache2/ports.conf | ||||
| 
 | ||||
| 	# Setup phpLdapAdmin. | ||||
| 	if [ -e /root/packages/phpLDAPadmin-1.2.3.tar.gz ]; then | ||||
| 		a2dismod php8.1 | ||||
| @ -173,11 +164,6 @@ fi | ||||
| #---------------------------------------------------------------------- | ||||
| echo "Setting to do every time" | ||||
| 
 | ||||
| # Resolver settings. | ||||
| cp /etc/resolv.conf /root/packages/resolv.conf | ||||
| sed -i "s/nameserver 127.0.0.11/nameserver 127.0.0.1/" /root/packages/resolv.conf | ||||
| cat /root/packages/resolv.conf > /etc/resolv.conf | ||||
| 
 | ||||
| # Switch DNS backend. | ||||
| if [ $SMB_USEBIND9 = "true" ]; then | ||||
| 	if [ ! -e /var/lib/samba/bind-dns/named.conf ]; then | ||||
| @ -188,7 +174,7 @@ if [ $SMB_USEBIND9 = "true" ]; then | ||||
| 		cp -a /etc/bind/named.conf /etc/bind/named.conf.bak | ||||
| 		sed -i "\$a include \"/var/lib/samba/bind-dns/named.conf\";" /etc/bind/named.conf | ||||
| 		cp -a /etc/bind/named.conf.options /etc/bind/named.conf.options.bak | ||||
| 		sed -i "/listen-on-v6/a\\\n\tforwarders { 127.0.0.11; };\n\tallow-query { any; };\n\tallow-transfer { none; };\n\ttkey-gssapi-keytab \"/var/lib/samba/bind-dns/dns.keytab\";\n\tminimal-responses yes;" /etc/bind/named.conf.options | ||||
| 		sed -i "/listen-on-v6/a\\\n\tforwarders { ${SMB_FORWARD}; };\n\tallow-query { any; };\n\tallow-transfer { none; };\n\ttkey-gssapi-keytab \"/var/lib/samba/bind-dns/dns.keytab\";\n\tminimal-responses yes;" /etc/bind/named.conf.options | ||||
| 		cp -a /etc/bind/named.conf.local /etc/bind/named.conf.local.bak | ||||
| 		sed -i "s@^//include@include@" /etc/bind/named.conf.local | ||||
| 	fi | ||||
|  | ||||
							
								
								
									
										17
									
								
								setufw.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										17
									
								
								setufw.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,17 @@ | ||||
| #!/bin/bash | ||||
| ufw $1 allow to any port   53 proto any from any comment "DNS" | ||||
| ufw $1 allow to any port  135 proto tcp from any comment "End Point Mapper(WINS)" | ||||
| ufw $1 allow to any port  137 proto udp from any comment "NetBIOS Name Service" | ||||
| ufw $1 allow to any port  138 proto udp from any comment "NetBIOS Datagram" | ||||
| ufw $1 allow to any port  139 proto tcp from any comment "NetBIOS Session" | ||||
| ufw $1 allow to any port  445 proto tcp from any comment "SMB over TCP" | ||||
| ufw $1 allow to any port  389 proto any from any comment "LDAP" | ||||
| ufw $1 allow to any port  636 proto tcp from any comment "LDAPS" | ||||
| ufw $1 allow to any port   88 proto any from any comment "Kerberos" | ||||
| ufw $1 allow to any port  464 proto any from any comment "Kerberos kpasswd" | ||||
| ufw $1 allow to any port 3268 proto tcp from any comment "Global Catalog" | ||||
| ufw $1 allow to any port 3269 proto tcp from any comment "Global Catalog SSL" | ||||
| ufw $1 allow to any port 49152:49200 \ | ||||
|                               proto tcp from any comment "RPC The same value as SMB_RPC_PORTS." | ||||
| # for Primary | ||||
| ufw $1 allow to any port  873 proto tcp from any comment "rsync" | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user