diff --git a/.env b/.env index 19d3af3..0d1b92b 100644 --- a/.env +++ b/.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 diff --git a/README.md b/README.md index 64897b1..1ba5760 100644 --- a/README.md +++ b/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アドレス
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 ``` - 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 ``` @@ -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 ## その他 diff --git a/baseimage/mkbaseimage.sh b/baseimage/mkbaseimage.sh new file mode 100755 index 0000000..485c4f1 --- /dev/null +++ b/baseimage/mkbaseimage.sh @@ -0,0 +1,3 @@ +#!/bin/bash +cd $(dirname ${0}) +docker build -t custom/samba:0.0.1 -f $PWD/Dockerfile . diff --git a/docker-compose.yml.primary b/docker-compose.yml.primary index 1fe562f..da88d76 100644 --- a/docker-compose.yml.primary +++ b/docker-compose.yml.primary @@ -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: diff --git a/docker-compose.yml.restore b/docker-compose.yml.restore index e5a608b..1ae64b7 100644 --- a/docker-compose.yml.restore +++ b/docker-compose.yml.restore @@ -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: diff --git a/docker-compose.yml.secondary b/docker-compose.yml.secondary index 92b12af..3115f0a 100644 --- a/docker-compose.yml.secondary +++ b/docker-compose.yml.secondary @@ -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: diff --git a/mkbaseimage.sh b/mkbaseimage.sh deleted file mode 100755 index 0dac5ad..0000000 --- a/mkbaseimage.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash -cd $(dirname ${0}) -sudo docker build -t custom/samba:0.0.1 -f $PWD/baseimage/Dockerfile . diff --git a/packages/config-primary.sh b/packages/config-primary.sh index c1600c6..6f7d455 100755 --- a/packages/config-primary.sh +++ b/packages/config-primary.sh @@ -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 diff --git a/packages/config-restore.sh b/packages/config-restore.sh index 2fc3484..e90b959 100755 --- a/packages/config-restore.sh +++ b/packages/config-restore.sh @@ -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" diff --git a/packages/config-secondary.sh b/packages/config-secondary.sh index cd65fe7..19a87b2 100755 --- a/packages/config-secondary.sh +++ b/packages/config-secondary.sh @@ -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 diff --git a/setufw.sh b/setufw.sh new file mode 100755 index 0000000..3a75155 --- /dev/null +++ b/setufw.sh @@ -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"