<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.rosemarknetworks.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Rosemark</id>
	<title>RoseWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.rosemarknetworks.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Rosemark"/>
	<link rel="alternate" type="text/html" href="https://www.rosemarknetworks.com/wiki/index.php/Special:Contributions/Rosemark"/>
	<updated>2026-05-01T10:51:29Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>https://www.rosemarknetworks.com/wiki/index.php?title=Category:Networking_Tutorials&amp;diff=96</id>
		<title>Category:Networking Tutorials</title>
		<link rel="alternate" type="text/html" href="https://www.rosemarknetworks.com/wiki/index.php?title=Category:Networking_Tutorials&amp;diff=96"/>
		<updated>2024-10-10T15:47:36Z</updated>

		<summary type="html">&lt;p&gt;Rosemark: Created page with &amp;quot;Here are some of our networking related guides.   == Web Hosting ==  === Proxying requests ===  * Proxy Server * Reverse Proxy&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here are some of our networking related guides. &lt;br /&gt;
&lt;br /&gt;
== Web Hosting ==&lt;br /&gt;
&lt;br /&gt;
=== Proxying requests ===&lt;br /&gt;
&lt;br /&gt;
* [[Proxy Server]]&lt;br /&gt;
* [[Reverse Proxy]]&lt;/div&gt;</summary>
		<author><name>Rosemark</name></author>
	</entry>
	<entry>
		<id>https://www.rosemarknetworks.com/wiki/index.php?title=Offline_Uncorrectable_Sectors&amp;diff=92</id>
		<title>Offline Uncorrectable Sectors</title>
		<link rel="alternate" type="text/html" href="https://www.rosemarknetworks.com/wiki/index.php?title=Offline_Uncorrectable_Sectors&amp;diff=92"/>
		<updated>2024-10-10T13:47:48Z</updated>

		<summary type="html">&lt;p&gt;Rosemark: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;Offline Uncorrectable Sectors&#039;&#039;&#039; is a common disk-related error experienced on Linux machines. Here&#039;s a method you can use to understand and fix them. &lt;br /&gt;
&lt;br /&gt;
== Fixing Offline Uncorrectable Sectors ==&lt;br /&gt;
Current Pending Sector is the number of locations the disk knows about that needs to be reallocated but haven&#039;t reallocated yet. &lt;br /&gt;
&lt;br /&gt;
Since the disk has no source for the data to be reallocated it will remain in this state until you write into that location.&lt;br /&gt;
&lt;br /&gt;
Once that location is written to, the disk will automatically reallocate the area to another place and write the new data in the new place and the current pending sector count will decrease.&lt;br /&gt;
&lt;br /&gt;
You can use diskscan on Linux or HD Tune on Windows to scan the disk for the bad locations and also attempt to &amp;quot;fix&amp;quot; the locations by making the software write into them in order to attempt the reallocation immediately.&lt;br /&gt;
 &lt;br /&gt;
 This message was generated by the smartd daemon running on:&lt;br /&gt;
 &lt;br /&gt;
    host name:  host-example&lt;br /&gt;
    DNS domain: example.local&lt;br /&gt;
 &lt;br /&gt;
 The following warning/error was logged by the smartd daemon:&lt;br /&gt;
 &lt;br /&gt;
 Device: /dev/sdf [SAT], 1 Offline uncorrectable sectors&lt;br /&gt;
 &lt;br /&gt;
 Device info:&lt;br /&gt;
 Micron_1100_MTFDDAK2T0TBN, S/N:17161B3C0923, WWN:5-00a075-11b3c0923, FW:M0MU031, 2.04 TB&lt;br /&gt;
 &lt;br /&gt;
 For details see host&#039;s SYSLOG.&lt;br /&gt;
 &lt;br /&gt;
 You can also use the smartctl utility for further investigation.&lt;br /&gt;
 The original message about this issue was sent at Wed May 27 01:46:08 2020 EDT&lt;br /&gt;
 Another message will be sent in 24 hours if the problem persists.&lt;br /&gt;
&lt;br /&gt;
 root@example:~# apt install diskscan&lt;br /&gt;
 &lt;br /&gt;
 diskscan [options] /dev/sd&lt;br /&gt;
 Options:&lt;br /&gt;
     -v, --verbose        - Increase verbosity, multiple uses for higher levels&lt;br /&gt;
     -f, --fix            - Attempt to fix near failures, nothing can be done for unreadable sectors&lt;br /&gt;
     -s, --scan &amp;lt;mode&amp;gt;    - Scan in order (seq, random)&lt;br /&gt;
     -e, --size &amp;lt;size&amp;gt;    - Scan size (default to 64K, must be multiple of 512)&lt;br /&gt;
     -o, --output &amp;lt;file&amp;gt;  - Output file (json)&lt;br /&gt;
     -r, --raw-log &amp;lt;file&amp;gt; - Raw log of all scan results (json)&lt;br /&gt;
     --force-mounted      - Allow checking a read-only mounted disk&lt;br /&gt;
     --force-mounted-rw   - Allow checking a read-write mounted disk&lt;br /&gt;
 &lt;br /&gt;
 root@example:~# diskscan /dev/sda&lt;br /&gt;
 diskscan version 0.19&lt;br /&gt;
 &lt;br /&gt;
 I: Validating path /dev/sda&lt;br /&gt;
 I: Disk start temperature is 28&lt;br /&gt;
 I: Opened disk /dev/sda sector size 512 num bytes 5000981077504&lt;br /&gt;
 I: Scanning disk /dev/sda in 65536 byte steps&lt;br /&gt;
 I: Scan started at: Thu May 25 11:23:35 2023&lt;br /&gt;
 &lt;br /&gt;
 Disk scan |                                                                                                        | ETA: 0h00m00s&lt;br /&gt;
 E: Error when reading at offset 0 size 65536 read -1, errno=0: Success&lt;br /&gt;
 I: Disk temperature changed from 30 to 31&lt;br /&gt;
 E: Details: error=need_retry data=none 06/29/00&lt;br /&gt;
 Disk scan |====                                                                                                    | ETA:10h18m51s&lt;br /&gt;
[[Category:Linux Tutorials]]&lt;/div&gt;</summary>
		<author><name>Rosemark</name></author>
	</entry>
	<entry>
		<id>https://www.rosemarknetworks.com/wiki/index.php?title=Category:Linux_Tutorials&amp;diff=91</id>
		<title>Category:Linux Tutorials</title>
		<link rel="alternate" type="text/html" href="https://www.rosemarknetworks.com/wiki/index.php?title=Category:Linux_Tutorials&amp;diff=91"/>
		<updated>2024-10-09T17:26:37Z</updated>

		<summary type="html">&lt;p&gt;Rosemark: Created page with &amp;quot;Here are some of our Linux tutorials.  == Linux Tutorials (Especially helpful for Proxmox) ==  * Offline Uncorrectable Sectors * ZFS Failed Disk Replacement&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here are some of our Linux tutorials.&lt;br /&gt;
&lt;br /&gt;
== Linux Tutorials (Especially helpful for Proxmox) ==&lt;br /&gt;
&lt;br /&gt;
* [[Offline Uncorrectable Sectors]]&lt;br /&gt;
* [[ZFS Failed Disk Replacement]]&lt;/div&gt;</summary>
		<author><name>Rosemark</name></author>
	</entry>
	<entry>
		<id>https://www.rosemarknetworks.com/wiki/index.php?title=Category:Software_Tutorials&amp;diff=90</id>
		<title>Category:Software Tutorials</title>
		<link rel="alternate" type="text/html" href="https://www.rosemarknetworks.com/wiki/index.php?title=Category:Software_Tutorials&amp;diff=90"/>
		<updated>2024-10-09T17:21:44Z</updated>

		<summary type="html">&lt;p&gt;Rosemark: Created page with &amp;quot;Here are some of our tutorials and notes on software, both selfhosted FOSS and 3rd party products.  == Software Tutorials ==  * Firebox Content Inspection (HTTPS Content Inspection) * Nextcloud * Proxy Server (high level) ** Reverse Proxy (use-case specific) * Zabbix&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here are some of our tutorials and notes on software, both selfhosted FOSS and 3rd party products.&lt;br /&gt;
&lt;br /&gt;
== Software Tutorials ==&lt;br /&gt;
&lt;br /&gt;
* [[Firebox Content Inspection|Firebox Content Inspection (HTTPS Content Inspection)]]&lt;br /&gt;
* [[Nextcloud]]&lt;br /&gt;
* [[Proxy Server]] (high level)&lt;br /&gt;
** [[Reverse Proxy]] (use-case specific)&lt;br /&gt;
* [[Zabbix]]&lt;/div&gt;</summary>
		<author><name>Rosemark</name></author>
	</entry>
	<entry>
		<id>https://www.rosemarknetworks.com/wiki/index.php?title=Category:Windows_Tutorials&amp;diff=89</id>
		<title>Category:Windows Tutorials</title>
		<link rel="alternate" type="text/html" href="https://www.rosemarknetworks.com/wiki/index.php?title=Category:Windows_Tutorials&amp;diff=89"/>
		<updated>2024-10-09T17:12:46Z</updated>

		<summary type="html">&lt;p&gt;Rosemark: Created page with &amp;quot;Here are some of our Windows / Active Directory tutorials.  == Windows ==  * Folder Redirection * Time Sync * Software Installation (GPO)&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here are some of our Windows / Active Directory tutorials.&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
&lt;br /&gt;
* [[Folder Redirection]]&lt;br /&gt;
* [[Time Sync]]&lt;br /&gt;
* [[Software Installation (GPO)]]&lt;/div&gt;</summary>
		<author><name>Rosemark</name></author>
	</entry>
	<entry>
		<id>https://www.rosemarknetworks.com/wiki/index.php?title=Software_Installation&amp;diff=88</id>
		<title>Software Installation</title>
		<link rel="alternate" type="text/html" href="https://www.rosemarknetworks.com/wiki/index.php?title=Software_Installation&amp;diff=88"/>
		<updated>2024-10-09T17:07:29Z</updated>

		<summary type="html">&lt;p&gt;Rosemark: Rosemark moved page Software Installation to Software Installation (GPO)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Software Installation (GPO)]]&lt;/div&gt;</summary>
		<author><name>Rosemark</name></author>
	</entry>
	<entry>
		<id>https://www.rosemarknetworks.com/wiki/index.php?title=MediaWiki:Common.css&amp;diff=85</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://www.rosemarknetworks.com/wiki/index.php?title=MediaWiki:Common.css&amp;diff=85"/>
		<updated>2024-10-09T16:49:15Z</updated>

		<summary type="html">&lt;p&gt;Rosemark: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will be applied to all skins */&lt;br /&gt;
.mw-category-generated&lt;br /&gt;
{&lt;br /&gt;
  visibility: hidden;&lt;br /&gt;
  display:none;&lt;br /&gt;
}&lt;br /&gt;
#t-specialpages { display: none; visibility: hidden; }&lt;/div&gt;</summary>
		<author><name>Rosemark</name></author>
	</entry>
	<entry>
		<id>https://www.rosemarknetworks.com/wiki/index.php?title=MediaWiki:Common.css&amp;diff=84</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://www.rosemarknetworks.com/wiki/index.php?title=MediaWiki:Common.css&amp;diff=84"/>
		<updated>2024-10-09T16:48:10Z</updated>

		<summary type="html">&lt;p&gt;Rosemark: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will be applied to all skins */&lt;br /&gt;
.mw-category-generated&lt;br /&gt;
{&lt;br /&gt;
  visibility: hidden;&lt;br /&gt;
  display:none;&lt;br /&gt;
}&lt;br /&gt;
.t-specialpages { display: none; }&lt;/div&gt;</summary>
		<author><name>Rosemark</name></author>
	</entry>
	<entry>
		<id>https://www.rosemarknetworks.com/wiki/index.php?title=MediaWiki:Common.css&amp;diff=83</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://www.rosemarknetworks.com/wiki/index.php?title=MediaWiki:Common.css&amp;diff=83"/>
		<updated>2024-10-09T16:47:55Z</updated>

		<summary type="html">&lt;p&gt;Rosemark: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will be applied to all skins */&lt;br /&gt;
.mw-category-generated&lt;br /&gt;
{&lt;br /&gt;
  visibility: hidden;&lt;br /&gt;
  display:none;&lt;br /&gt;
}&lt;br /&gt;
#t-specialpages { display: none; }&lt;/div&gt;</summary>
		<author><name>Rosemark</name></author>
	</entry>
	<entry>
		<id>https://www.rosemarknetworks.com/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=82</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://www.rosemarknetworks.com/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=82"/>
		<updated>2024-10-09T16:45:08Z</updated>

		<summary type="html">&lt;p&gt;Rosemark: Created page with &amp;quot; * navigation ** mainpage|mainpage-description ** recentchanges-url|recentchanges * SEARCH * LANGUAGES&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
* navigation&lt;br /&gt;
** mainpage|mainpage-description&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
* SEARCH&lt;br /&gt;
* LANGUAGES&lt;/div&gt;</summary>
		<author><name>Rosemark</name></author>
	</entry>
	<entry>
		<id>https://www.rosemarknetworks.com/wiki/index.php?title=MediaWiki:Common.css&amp;diff=81</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://www.rosemarknetworks.com/wiki/index.php?title=MediaWiki:Common.css&amp;diff=81"/>
		<updated>2024-10-09T16:43:34Z</updated>

		<summary type="html">&lt;p&gt;Rosemark: Created page with &amp;quot;/* CSS placed here will be applied to all skins */ .mw-category-generated {   visibility: hidden;   display:none; }&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will be applied to all skins */&lt;br /&gt;
.mw-category-generated&lt;br /&gt;
{&lt;br /&gt;
  visibility: hidden;&lt;br /&gt;
  display:none;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Rosemark</name></author>
	</entry>
	<entry>
		<id>https://www.rosemarknetworks.com/wiki/index.php?title=Firebox_Content_Inspection&amp;diff=74</id>
		<title>Firebox Content Inspection</title>
		<link rel="alternate" type="text/html" href="https://www.rosemarknetworks.com/wiki/index.php?title=Firebox_Content_Inspection&amp;diff=74"/>
		<updated>2024-10-08T21:37:32Z</updated>

		<summary type="html">&lt;p&gt;Rosemark: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Heard County School District]]&lt;br /&gt;
The following guide describes the system in place that allows Heard County School District to allow / deny HTTP(S) content coming from the internet.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
Firebox firewalls have a feature called Web Blocker which utilizes HTTPS Content Inspection. [http://www.watchguard.com/help/docs/help-center/en-US/content/en-us/Fireware/services/webblocker/webblocker_about_c.html WebBlocker] intercepts incoming traffic from the internet and analyzes it against a customizable table of rules to determine if it contains materials that violate the rules of the organization. Aside from the initial configuration, WebBlocker creates a problematic situation for any websites being served across SSL. It has to decrypt the HTTPS packets to analyze them for inappropriate content. This means that the firewall has to re-encrypt the pages with its own self-signed SSL certificate before passing it to the user, but the user doesn&#039;t automatically trust this certificate, and the average user does not know how to navigate this issue. &lt;br /&gt;
&lt;br /&gt;
There are two possible solutions: you can distribute the self-signed certificate to each machine directly or replace the certificate with one signed by a third party certificate authority (CA). &lt;br /&gt;
&lt;br /&gt;
Using a third party certificate authority (CA) is the best and most highly recommended option as, if you have to replace the firewall, it&#039;s going to have a completely different self-signed certificate and the clients will no longer trust it. This problem is irrelevant in the case of a third party CA as you only have to reissue / reinstall the certificate to the firewall, and it&#039;s implicitly trusted by the clients already.&lt;br /&gt;
&lt;br /&gt;
== Certificate Authority ==&lt;br /&gt;
Setting up an enterprise CA can be a daunting task depending on your usecase. What we&#039;re aiming for here is to create a new [[Public Key Infrastructure|PKI]], where the root certificate is distributed to all client machines, and then the root certificate is used to sign a re-signing certificate (similar to an intermediary leaf in other, larger PKIs) that gets used to sign the content from inspected websites. &lt;br /&gt;
&lt;br /&gt;
One system that fits this perfectly is the Windows Active Directory Certificate Services role. &lt;br /&gt;
&lt;br /&gt;
Set up a machine in your AD domain and give it a static IP and hostname. Ensure that the hostname is exactly what you want it to be. &#039;&#039;&#039;Certificate Services breaks completely if you ever change it.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
When installing the role, make sure the following are all set:&lt;br /&gt;
&lt;br /&gt;
[[File:ADCSRoles.png|620x620px]]&lt;br /&gt;
&lt;br /&gt;
When configuring the roles after the install, ensure that the options &amp;quot;Root CA&amp;quot; and &amp;quot;Enterprise CA&amp;quot; are selected. Root CA sets it to create a new root certificate which will be the start of our PKI. Enterprise distributes the root CA to all machines in the domain. &lt;br /&gt;
&lt;br /&gt;
Also select the rest of the roles that were installed above when configuring. You don&#039;t have to do anything special to them, this just enables them.&lt;br /&gt;
&lt;br /&gt;
It&#039;s a good idea to now run gpupdate /force and then reboot the machine.&lt;br /&gt;
&lt;br /&gt;
Now, after you do this, open a web browser and navigate to http://[fqdn of the machine including domain]/certsrv. A login prompt at the top of your screen will appear. Log in with a domain administrator account. Make sure you include the domain prefix if you&#039;re using &amp;quot;Administrator&amp;quot; or else it will log in using the local admin privileges of that machine, which do NOT include &amp;quot;network admin&amp;quot; privileges. &lt;br /&gt;
&lt;br /&gt;
== Generate the CSR ==&lt;br /&gt;
Now that we have our PKI infrastructure in place, we need to generate the signing certificate in the Fireware Web UI.&lt;br /&gt;
&lt;br /&gt;
From the Fireware Web UI, go to &#039;&#039;&#039;System &amp;gt; Certificates&#039;&#039;&#039; and select &#039;&#039;&#039;Create CSR&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Press &#039;&#039;&#039;Next.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
From the list of options that appears, select &#039;&#039;&#039;Proxy Authority&#039;&#039;&#039; (not &#039;&#039;Proxy Server&#039;&#039;). &lt;br /&gt;
&lt;br /&gt;
Fill out the following fields with either the defaults listed or with the information for your domain depending on the form.&lt;br /&gt;
&lt;br /&gt;
At the end, you will have a CSR. Copy this and go to the url referenced previously, http://[fqdn of the machine including domain]/certsrv, and log in. &lt;br /&gt;
&lt;br /&gt;
Select &#039;&#039;&#039;Request a certificate.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Choose &#039;&#039;&#039;advanced certificate request.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Paste your CSR into the box above and from the dropdown select &#039;&#039;&#039;Subordinate Certificate Authority.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
From the results page, download the file as base 64. &lt;br /&gt;
&lt;br /&gt;
Now, we also need to export the root CA and import it.&lt;br /&gt;
&lt;br /&gt;
== Import Certificates ==&lt;br /&gt;
From certsrv, select &#039;&#039;&#039;Download a CA certificate, certificate chain, or CRL&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Select &#039;&#039;&#039;Download CA Certificate&#039;&#039;&#039; and download the file.&lt;br /&gt;
&lt;br /&gt;
From the Fireware Web UI Certificate page we previously navigated to, select &#039;&#039;&#039;Import&#039;&#039;&#039; or &#039;&#039;&#039;Import Certificate&#039;&#039;&#039;. Select &#039;&#039;&#039;General Use&#039;&#039;&#039;. Import the root certificate we just downloaded. Repeat this procedure for the signing certificate, but select &#039;&#039;&#039;Proxy Authority.&#039;&#039;&#039; This will replace the existing Proxy Authority certificate and webblocker will now use your new one. &lt;br /&gt;
&lt;br /&gt;
You may now test this by attempting to access invalid content.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting Firefox ==&lt;br /&gt;
There&#039;s a very good chance that you will now discover that you still cannot view blocked content without being prompted with the bad certificate screen if you use Firefox on your client machine. This is because Firefox does not implicitly trust root enterprise certificates.&lt;br /&gt;
&lt;br /&gt;
To test if your certificate is working at all, in the Firefox URL bar type about:config and press continue past the warning that appears. Search for &amp;quot;enterprise&amp;quot; and enable the enterprise roots rule, then restart Firefox and attempt again. It should now work, but you probably do not want to do this to every single computer running Firefox.&lt;br /&gt;
&lt;br /&gt;
[https://community.spiceworks.com/how_to/138802-configure-firefox-to-use-windows-certificate-store-via-gpo This guide from spiceworks will allow you to fix this through GPO!]&lt;/div&gt;</summary>
		<author><name>Rosemark</name></author>
	</entry>
	<entry>
		<id>https://www.rosemarknetworks.com/wiki/index.php?title=ZFS_Failed_Disk_Replacement&amp;diff=72</id>
		<title>ZFS Failed Disk Replacement</title>
		<link rel="alternate" type="text/html" href="https://www.rosemarknetworks.com/wiki/index.php?title=ZFS_Failed_Disk_Replacement&amp;diff=72"/>
		<updated>2024-10-08T17:39:10Z</updated>

		<summary type="html">&lt;p&gt;Rosemark: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Copy partitions from good disk sda to blank disk sdb==&lt;br /&gt;
 sgdisk -R /dev/sdb /dev/sda	# sgdisk -R /dev/sdb&amp;lt;Replicate to this disk&amp;gt;  /dev/sda&amp;lt;From this disk&amp;gt;&amp;lt;br&amp;gt;sgdisk -G /dev/sdb		# randomize the GUID on the new disk since it was copied from the other drive.&lt;br /&gt;
&lt;br /&gt;
==Using Parted to verify the partition table of /dev/sdl==&lt;br /&gt;
 (parted) select /dev/sdl&amp;lt;br&amp;gt;Using /dev/sdl&lt;br /&gt;
 &amp;lt;br&amp;gt;(parted) p&amp;lt;br&amp;gt;    Model: ATA WDC WD2000FYYZ-0 (scsi)&amp;lt;br&amp;gt;    Disk /dev/sdl: 2000398934016B&amp;lt;br&amp;gt;    Sector size (logical/physical): 512B/512B&amp;lt;br&amp;gt;    Partition Table: gpt&amp;lt;br&amp;gt;    Disk Flags:&amp;lt;br&amp;gt;    Number Start End Size File system Name Flags&lt;br /&gt;
     1 1048576B 2097151B 1048576B Grub-Boot-Partition bios_grub&lt;br /&gt;
     2 2097152B 136314879B 134217728B fat32 EFI-System-Partition boot, esp&lt;br /&gt;
     3 136314880B 2000397885439B 2000261570560B zfs PVE-ZFS-Partition&lt;br /&gt;
 &lt;br /&gt;
 (Ok partitions copied)&lt;br /&gt;
&lt;br /&gt;
==Copy data from /dev/sda1 to /dev/sdb1 and /dev/sda2 to /dev/sdb2==&lt;br /&gt;
 dd if=/dev/sda1 of=/dev/sdb1 bs=512 #This is the bios boot partition  &lt;br /&gt;
 root@folkvang:~# dd if=/dev/sdk1 of=/dev/sdl1 bs=512&lt;br /&gt;
 2014+0 records in   &lt;br /&gt;
 2014+0 records out  &lt;br /&gt;
 1031168 bytes (1.0 MB) copied, 0.10164 s, 10.1 MB/s  &lt;br /&gt;
&lt;br /&gt;
==Replace the failed partition in the zpool==&lt;br /&gt;
Find the ID of the failed block device&lt;br /&gt;
 root@folkvang:~# zpool status&lt;br /&gt;
 pool: rpool&lt;br /&gt;
     state: DEGRADED&lt;br /&gt;
     status: One or more devices could not be used because the label is missing or invalid. Sufficient replicas exist for the pool to continue functioning in a degraded state.&lt;br /&gt;
     action: Replace the device using &#039;zpool replace&#039;.&lt;br /&gt;
     see: http://zfsonlinux.org/msg/ZFS-8000-4J&lt;br /&gt;
     scan: scrub repaired 0 in 0h25m with 0 errors on Sun May  8 11:20:27 2016&lt;br /&gt;
     config&lt;br /&gt;
     NAME                    STATE     READ WRITE CKSUM&lt;br /&gt;
     rpool                   DEGRADED     0     0     0&lt;br /&gt;
       mirror-0              DEGRADED     0     0     0&lt;br /&gt;
         993077023721924477  FAULTED      0     0     0  was /dev/sdk2&lt;br /&gt;
         sdk2                ONLINE       0     0     0&lt;br /&gt;
     errors: No known data errors&lt;br /&gt;
&lt;br /&gt;
==Call zpool to replace the failed device==&lt;br /&gt;
 root@folkvang:~# zpool replace -f rpool 993077023721924477 /dev/sdl2&lt;br /&gt;
 &lt;br /&gt;
Make sure to wait until resilver is done before rebooting.&lt;br /&gt;
 root@folkvang:~# zpool statuspool: rpool&amp;lt;br&amp;gt;    state: DEGRADED&amp;lt;br&amp;gt;    status: One or more devices is currently being resilvered.  The pool will continue to function, possibly in a degraded state.&amp;lt;br&amp;gt;    action: Wait for the resilver to complete.&amp;lt;br&amp;gt;    scan: resilver in progress since Fri Sep  2 16:45:53 2016&amp;lt;br&amp;gt;    13.2M scanned out of 8.83G at 902K/s, 2h50m to go&amp;lt;br&amp;gt;    12.9M resilvered, 0.15% done&amp;lt;br&amp;gt;    config:&amp;lt;br&amp;gt;    NAME                      STATE     READ WRITE CKSUM&amp;lt;br&amp;gt;    rpool                     DEGRADED     0     0     0&amp;lt;br&amp;gt;      mirror-0                DEGRADED     0     0     0&amp;lt;br&amp;gt;        replacing-0           UNAVAIL      0     0     0&amp;lt;br&amp;gt;          993077023721924477  FAULTED      0     0     0  was /dev/sdk2&amp;lt;br&amp;gt;          sdl2                ONLINE       0     0     0  (resilvering)&amp;lt;br&amp;gt;        sdk2                  ONLINE       0     0     0&amp;lt;br&amp;gt;    errors: No known data errors&lt;br /&gt;
After fixing the drive, we need to ensure that the boot sectors are configured.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;grub-install /dev/sdk&amp;lt;br&amp;gt;grub-install /dev/sdl&amp;lt;br&amp;gt;update-grub&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux Tutorials]]&lt;br /&gt;
[[Category:Proxmox Tutorials]]&lt;/div&gt;</summary>
		<author><name>Rosemark</name></author>
	</entry>
	<entry>
		<id>https://www.rosemarknetworks.com/wiki/index.php?title=Main_Page&amp;diff=71</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://www.rosemarknetworks.com/wiki/index.php?title=Main_Page&amp;diff=71"/>
		<updated>2024-10-08T17:21:08Z</updated>

		<summary type="html">&lt;p&gt;Rosemark: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the Rosemark Networks Consultants Wiki.&lt;br /&gt;
&lt;br /&gt;
== Categories ==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:Windows Tutorials|Windows Tutorials]]&lt;br /&gt;
** [[:Category:Active Directory|Active Directory Tutorials]]&lt;br /&gt;
* [[:Category:Linux Tutorials|Linux Tutorials]]&lt;br /&gt;
** [[:Category:Proxmox Tutorials|Proxmox Tutorials]]&lt;br /&gt;
* [[:Category:Software Tutorials|Software Tutorials]]&lt;br /&gt;
* [[:Category:Networking Tutorials|Networking Tutorials]]&lt;/div&gt;</summary>
		<author><name>Rosemark</name></author>
	</entry>
	<entry>
		<id>https://www.rosemarknetworks.com/wiki/index.php?title=ZFS_Failed_Disk_Replacement&amp;diff=70</id>
		<title>ZFS Failed Disk Replacement</title>
		<link rel="alternate" type="text/html" href="https://www.rosemarknetworks.com/wiki/index.php?title=ZFS_Failed_Disk_Replacement&amp;diff=70"/>
		<updated>2024-10-08T17:19:54Z</updated>

		<summary type="html">&lt;p&gt;Rosemark: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Copy partitions from good disk sda to blank disk sdb==&lt;br /&gt;
&amp;lt;b&amp;gt;sgdisk -R /dev/sdb /dev/sda&amp;lt;/b&amp;gt;	# sgdisk -R /dev/sdb&amp;lt;Replicate to this disk&amp;gt;  /dev/sda&amp;lt;From this disk&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;sgdisk -G /dev/sdb&amp;lt;/b&amp;gt;		# randomize the GUID on the new disk since it was copied from the other drive.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Using Parted to verify the partition table of /dev/sdl==&lt;br /&gt;
&amp;lt;b&amp;gt;(parted) select /dev/sdl&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Using /dev/sdl&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;(parted) p&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:Model: ATA WDC WD2000FYYZ-0 (scsi)&amp;lt;br&amp;gt;&lt;br /&gt;
:Disk /dev/sdl: 2000398934016B&amp;lt;br&amp;gt;&lt;br /&gt;
:Sector size (logical/physical): 512B/512B&amp;lt;br&amp;gt;&lt;br /&gt;
:Partition Table: gpt&amp;lt;br&amp;gt;&lt;br /&gt;
:Disk Flags:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
:Number Start End Size File system Name Flags&amp;lt;br&amp;gt;&lt;br /&gt;
:1 1048576B 2097151B 1048576B Grub-Boot-Partition bios_grub&amp;lt;br&amp;gt;&lt;br /&gt;
:2 2097152B 136314879B 134217728B fat32 EFI-System-Partition boot, esp&amp;lt;br&amp;gt;&lt;br /&gt;
:3 136314880B 2000397885439B 2000261570560B zfs PVE-ZFS-Partition&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(Ok partitions copied)&lt;br /&gt;
&lt;br /&gt;
==Copy data from /dev/sda1 to /dev/sdb1 and /dev/sda2 to /dev/sdb2==&lt;br /&gt;
&amp;lt;b&amp;gt;dd if=/dev/sda1 of=/dev/sdb1 bs=512&amp;lt;/b&amp;gt; #This is the bios boot partition  &amp;lt;br&amp;gt;&lt;br /&gt;
root@folkvang:~# &amp;lt;b&amp;gt;dd if=/dev/sdk1 of=/dev/sdl1 bs=512&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;  &lt;br /&gt;
2014+0 records in   &amp;lt;br&amp;gt;&lt;br /&gt;
2014+0 records out  &amp;lt;br&amp;gt;&lt;br /&gt;
1031168 bytes (1.0 MB) copied, 0.10164 s, 10.1 MB/s  &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Replace the failed partition in the zpool==&lt;br /&gt;
Find the ID of the failed block device&lt;br /&gt;
&lt;br /&gt;
:	root@folkvang:~# &amp;lt;b&amp;gt;zpool status&amp;lt;/b&amp;gt;&lt;br /&gt;
::	  pool: rpool&lt;br /&gt;
::	  state: DEGRADED&lt;br /&gt;
::   	  status: One or more devices could not be used because the label is missing or invalid. Sufficient replicas exist for the pool to continue functioning in a degraded state.&lt;br /&gt;
::      action: Replace the device using &#039;zpool replace&#039;.&lt;br /&gt;
::	  see: http://zfsonlinux.org/msg/ZFS-8000-4J&lt;br /&gt;
::	  scan: scrub repaired 0 in 0h25m with 0 errors on Sun May  8 11:20:27 2016&lt;br /&gt;
::	  config:&lt;br /&gt;
	&lt;br /&gt;
::		NAME                    STATE     READ WRITE CKSUM&lt;br /&gt;
::		rpool                   DEGRADED     0     0     0&lt;br /&gt;
::		  mirror-0              DEGRADED     0     0     0&lt;br /&gt;
::		    993077023721924477  FAULTED      0     0     0  was /dev/sdk2&lt;br /&gt;
::		    sdk2                ONLINE       0     0     0&lt;br /&gt;
::	  errors: No known data errors&lt;br /&gt;
==Call zpool to replace the failed device==&lt;br /&gt;
&lt;br /&gt;
:	root@folkvang:~# &amp;lt;b&amp;gt;zpool replace -f rpool 993077023721924477 /dev/sdl2&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:	&amp;lt;b&amp;gt;Make sure to wait until resilver is done before rebooting.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:	root@folkvang:~# &amp;lt;b&amp;gt;zpool status&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
::	  pool: rpool&amp;lt;br&amp;gt;&lt;br /&gt;
:::	  state: DEGRADED&amp;lt;br&amp;gt;&lt;br /&gt;
:::	  status: One or more devices is currently being resilvered.  The pool will continue to function, possibly in a degraded state.&amp;lt;br&amp;gt;&lt;br /&gt;
:::	  action: Wait for the resilver to complete.&amp;lt;br&amp;gt;&lt;br /&gt;
:::	  scan: resilver in progress since Fri Sep  2 16:45:53 2016&amp;lt;br&amp;gt;&lt;br /&gt;
:::	    13.2M scanned out of 8.83G at 902K/s, 2h50m to go&amp;lt;br&amp;gt;&lt;br /&gt;
:::	    12.9M resilvered, 0.15% done&amp;lt;br&amp;gt;&lt;br /&gt;
:::	  config:&amp;lt;br&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
::		NAME                      STATE     READ WRITE CKSUM&amp;lt;br&amp;gt;&lt;br /&gt;
::		rpool                     DEGRADED     0     0     0&amp;lt;br&amp;gt;&lt;br /&gt;
:::		  mirror-0                DEGRADED     0     0     0&amp;lt;br&amp;gt;&lt;br /&gt;
:::		    replacing-0           UNAVAIL      0     0     0&amp;lt;br&amp;gt;&lt;br /&gt;
:::		      993077023721924477  FAULTED      0     0     0  was /dev/sdk2&amp;lt;br&amp;gt;&lt;br /&gt;
:::		      sdl2                ONLINE       0     0     0  (resilvering)&amp;lt;br&amp;gt;&lt;br /&gt;
:::		    sdk2                  ONLINE       0     0     0&amp;lt;br&amp;gt;&lt;br /&gt;
:::&lt;br /&gt;
:::	  errors: No known data errors&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(Just in case I did)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;grub-install /dev/sdk&amp;lt;br&amp;gt;&lt;br /&gt;
grub-install /dev/sdl&amp;lt;br&amp;gt;&lt;br /&gt;
update-grub&amp;lt;/b&amp;gt;&lt;br /&gt;
[[Category:Linux Tutorials]]&lt;br /&gt;
[[Category:Proxmox Tutorials]]&lt;/div&gt;</summary>
		<author><name>Rosemark</name></author>
	</entry>
	<entry>
		<id>https://www.rosemarknetworks.com/wiki/index.php?title=Folder_Redirection&amp;diff=68</id>
		<title>Folder Redirection</title>
		<link rel="alternate" type="text/html" href="https://www.rosemarknetworks.com/wiki/index.php?title=Folder_Redirection&amp;diff=68"/>
		<updated>2024-10-08T17:05:44Z</updated>

		<summary type="html">&lt;p&gt;Rosemark: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;Folder Redirection&#039;&#039;&#039; is a GPO option in [[Windows Active Directory|Active Directory]] that allows an admin to select one or several folders from a list of Windows folders to be replicated from a Workstation or server to a corresponding folder on a network share. &lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
Folder Redirection is a Computer Configuration policy option set within a GPO. &lt;br /&gt;
&lt;br /&gt;
This policy folder has individual policy options for each of the following folders, which receive their own policy: &lt;br /&gt;
&lt;br /&gt;
* AppData/Roaming&lt;br /&gt;
* Contacts&lt;br /&gt;
* Desktop&lt;br /&gt;
* Documents&lt;br /&gt;
* Downloads&lt;br /&gt;
* Favorites&lt;br /&gt;
* Links&lt;br /&gt;
* Music&lt;br /&gt;
* Pictures&lt;br /&gt;
* Saved Games&lt;br /&gt;
* Searches&lt;br /&gt;
* Start Menu&lt;br /&gt;
&lt;br /&gt;
* Videos&lt;br /&gt;
&lt;br /&gt;
=== Share Permissions ===&lt;br /&gt;
It is important to ensure that the correct sharing permissions are met on the share that will host redirection. If not, several errors will occur and redirection will either not start, start and stop, or be inconsistent.&lt;br /&gt;
The share should have the following permissions:&lt;br /&gt;
[[File:Folder redireection share permissions.png|none|frame|Everyone: Full Control, Change, Read [Allow]]]&lt;br /&gt;
&lt;br /&gt;
=== Share Security ===&lt;br /&gt;
In addition, the security tab on the folder should have the following settings:&lt;br /&gt;
[[File:Folder redirection security.png|none|frame]]&lt;br /&gt;
Where Users, Administrators, the singular Administrator, and SYSTEM all have Full control over all files. In addition, confirm that inheritance is disabled, and if there are any inherited permissions, reset them.&lt;br /&gt;
&lt;br /&gt;
=== Offline Files ===&lt;br /&gt;
Offline Files is a feature that ensures that, if a host loses connection to the file server (say, during an update), there are local copies of the files onboard. It will automatically temporarily switch over to use those copies until the file server comes back online, then sync new changes to the file server. One can easily determine if Offline Files is enabled and working by whether or not they see this at the bottom of a File Explorer window:&lt;br /&gt;
[[File:Folder redirection offline files enabled.png|none|thumb|Offline Files is enabled and syncing]]&lt;br /&gt;
By default, Offline Files is enabled whenever Folder Redirection is enabled, but this does not apply to clients running Windows Server. Workstations running Windows 7, 10, 11 should automatically receive this. &lt;br /&gt;
&lt;br /&gt;
It can be enabled forcefully using GPO: https://learn.microsoft.com/en-us/windows-server/storage/folder-redirection/enable-always-offline&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
* The first step to setting up Folder Redirection on a domain is to create a Network Share on a server with sufficient storage. If you have a Domain Controller and a separate file server, the file server is the best place, but if you only have one server, acting as a DC, it&#039;ll work fine. Create a folder and go to Properties → Sharing and make sure that you add a dollar sign ($) to the end of the name. This ensures that the share is hidden and prevents both unwanted access and prevents clutter in the Network discovery tab. Under permissions, ensure that Everyone has Full Control, Read, and Change.&lt;br /&gt;
* In Active Directory Users and Computers, create an OU for Folder Redirection, where all users inside will have their selected folders synced. Folder Redirection is a &#039;&#039;&#039;user&#039;&#039;&#039; policy, not a computer policy. You&#039;re selecting the individual profiles. &lt;br /&gt;
* In Group Policy Management, right click the OU and select &#039;&#039;Create a GPO in this domain, and Link it here...&#039;&#039; &lt;br /&gt;
* Right click the new GPO and select &#039;&#039;Edit...&#039;&#039;&lt;br /&gt;
* Under the Editor, navigate to &#039;&#039;&#039;GPO → User Configuration → Policies → Windows System → Folder Redirection.&#039;&#039;&#039; For demonstration we&#039;ll use the Documents folder. &lt;br /&gt;
* Under &#039;&#039;&#039;Folder Redirection&#039;&#039;&#039; select &#039;&#039;&#039;Documents&#039;&#039;&#039; and select &#039;&#039;Properties&#039;&#039; from the right-click menu. &lt;br /&gt;
* Under Setting in the &#039;&#039;Documents Properties&#039;&#039; dialogue, choose &#039;&#039;Basic&#039;&#039; -  &#039;&#039;Redirect everyone&#039;s folder to the same location.&#039;&#039;&lt;br /&gt;
* This gives you the following two selections: &#039;&#039;Target folder location: Create a folder for each user under the root path&#039;&#039; &#039;&#039;Root Path: [empty string]&#039;&#039;&lt;br /&gt;
* Set the Root Path to the network path of the share you created previously. For instance, &#039;&#039;&#039;&#039;&#039;\\AD01\FolderRedirection$\&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* Underneath this, it will show you the hierarchy of the rest of the path, as such: &#039;&#039;For user Clair, this folder will be redirected to: &#039;&#039;&#039;\\AD01\FolderRedirection$\Clair\Documents&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* In the &#039;&#039;Settings&#039;&#039; tab, ensure that Policy Removal is set to &#039;&#039;&amp;quot;Redirect the folder back to the local userprofile location when policy is removed.&amp;quot;&#039;&#039; This ensures that if Folder Redirection has to be taken out of production, the files are available locally. &lt;br /&gt;
* If necessary, follow the steps to put an Always Offline GPO in place as seen above.&lt;br /&gt;
* Close the GPO editor &lt;br /&gt;
&lt;br /&gt;
Now that the GPO is created, wait for this to replicate to all ADs if there are several. Ensure that there are users in the redirection OU.&lt;br /&gt;
&lt;br /&gt;
Then, either wait for each machine to run a GPO update, or to get immediate results, open an Administrator Powershell on each workstation and run gpudate (with or without the /force flag).&lt;br /&gt;
&lt;br /&gt;
If all works, it will prompt a reboot. Allow this.&lt;br /&gt;
&lt;br /&gt;
On reboot, as the machine comes back up, after logging in, it should display a message that Folder Redirection is being applied. When this is done, there should be a green sync circle next to the default shortcut on this folder. If not, this means Offline Files is not enabled, but redirection itself might be.   &lt;br /&gt;
[[Category:Windows Tutorials]]&lt;br /&gt;
[[Category:Active Directory]]&lt;/div&gt;</summary>
		<author><name>Rosemark</name></author>
	</entry>
	<entry>
		<id>https://www.rosemarknetworks.com/wiki/index.php?title=Folder_Redirection&amp;diff=65</id>
		<title>Folder Redirection</title>
		<link rel="alternate" type="text/html" href="https://www.rosemarknetworks.com/wiki/index.php?title=Folder_Redirection&amp;diff=65"/>
		<updated>2024-10-08T16:56:52Z</updated>

		<summary type="html">&lt;p&gt;Rosemark: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;Folder Redirection&#039;&#039;&#039; is a GPO option in [[Windows Active Directory|Active Directory]] that allows an admin to select one or several folders from a list of Windows folders to be replicated from a Workstation or server to a corresponding folder on a network share. &lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
Folder Redirection is a Computer Configuration policy option set within a GPO. &lt;br /&gt;
&lt;br /&gt;
This policy folder has individual policy options for each of the following folders, which receive their own policy: &lt;br /&gt;
&lt;br /&gt;
* AppData/Roaming&lt;br /&gt;
* Contacts&lt;br /&gt;
* Desktop&lt;br /&gt;
* Documents&lt;br /&gt;
* Downloads&lt;br /&gt;
* Favorites&lt;br /&gt;
* Links&lt;br /&gt;
* Music&lt;br /&gt;
* Pictures&lt;br /&gt;
* Saved Games&lt;br /&gt;
* Searches&lt;br /&gt;
* Start Menu&lt;br /&gt;
&lt;br /&gt;
* Videos&lt;br /&gt;
&lt;br /&gt;
=== Share Permissions ===&lt;br /&gt;
It is important to ensure that the correct sharing permissions are met on the share that will host redirection. If not, several errors will occur and redirection will either not start, start and stop, or be inconsistent.&lt;br /&gt;
The share should have the following permissions:&lt;br /&gt;
[[File:Folder redireection share permissions.png|none|frame|Everyone: Full Control, Change, Read [Allow]]]&lt;br /&gt;
&lt;br /&gt;
=== Share Security ===&lt;br /&gt;
In addition, the security tab on the folder should have the following settings:&lt;br /&gt;
[[File:Folder redirection security.png|none|frame]]&lt;br /&gt;
Where Users, Administrators, the singular Administrator, and SYSTEM all have Full control over all files. In addition, confirm that inheritance is disabled, and if there are any inherited permissions, reset them.&lt;br /&gt;
&lt;br /&gt;
=== Offline Files ===&lt;br /&gt;
Offline Files is a feature that ensures that, if a host loses connection to the file server (say, during an update), there are local copies of the files onboard. It will automatically temporarily switch over to use those copies until the file server comes back online, then sync new changes to the file server. One can easily determine if Offline Files is enabled and working by whether or not they see this at the bottom of a File Explorer window:&lt;br /&gt;
[[File:Folder redirection offline files enabled.png|none|thumb|Offline Files is enabled and syncing]]&lt;br /&gt;
By default, Offline Files is enabled whenever Folder Redirection is enabled, but this does not apply to clients running Windows Server. Workstations running Windows 7, 10, 11 should automatically receive this. &lt;br /&gt;
&lt;br /&gt;
It can be enabled forcefully using GPO: https://learn.microsoft.com/en-us/windows-server/storage/folder-redirection/enable-always-offline&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
* The first step to setting up Folder Redirection on a domain is to create a Network Share on a server with sufficient storage. If you have a Domain Controller and a separate file server, the file server is the best place, but if you only have one server, acting as a DC, it&#039;ll work fine. Create a folder and go to Properties → Sharing and make sure that you add a dollar sign ($) to the end of the name. This ensures that the share is hidden and prevents both unwanted access and prevents clutter in the Network discovery tab. Under permissions, ensure that Everyone has Full Control, Read, and Change.&lt;br /&gt;
* In Active Directory Users and Computers, create an OU for Folder Redirection, where all users inside will have their selected folders synced. Folder Redirection is a &#039;&#039;&#039;user&#039;&#039;&#039; policy, not a computer policy. You&#039;re selecting the individual profiles. &lt;br /&gt;
* In Group Policy Management, right click the OU and select &#039;&#039;Create a GPO in this domain, and Link it here...&#039;&#039; &lt;br /&gt;
* Right click the new GPO and select &#039;&#039;Edit...&#039;&#039;&lt;br /&gt;
* Under the Editor, navigate to &#039;&#039;&#039;GPO → User Configuration → Policies → Windows System → Folder Redirection.&#039;&#039;&#039; For demonstration we&#039;ll use the Documents folder. &lt;br /&gt;
* Under &#039;&#039;&#039;Folder Redirection&#039;&#039;&#039; select &#039;&#039;&#039;Documents&#039;&#039;&#039; and select &#039;&#039;Properties&#039;&#039; from the right-click menu. &lt;br /&gt;
* Under Setting in the &#039;&#039;Documents Properties&#039;&#039; dialogue, choose &#039;&#039;Basic&#039;&#039; -  &#039;&#039;Redirect everyone&#039;s folder to the same location.&#039;&#039;&lt;br /&gt;
* This gives you the following two selections: &#039;&#039;Target folder location: Create a folder for each user under the root path&#039;&#039; &#039;&#039;Root Path: [empty string]&#039;&#039;&lt;br /&gt;
* Set the Root Path to the network path of the share you created previously. For instance, &#039;&#039;&#039;&#039;&#039;\\AD01\FolderRedirection$\&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* Underneath this, it will show you the hierarchy of the rest of the path, as such: &#039;&#039;For user Clair, this folder will be redirected to: &#039;&#039;&#039;\\AD01\FolderRedirection$\Clair\Documents&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* In the &#039;&#039;Settings&#039;&#039; tab, ensure that Policy Removal is set to &#039;&#039;&amp;quot;Redirect the folder back to the local userprofile location when policy is removed.&amp;quot;&#039;&#039; This ensures that if Folder Redirection has to be taken out of production, the files are available locally. &lt;br /&gt;
* If necessary, follow the steps to put an Always Offline GPO in place as seen above.&lt;br /&gt;
* Close the GPO editor &lt;br /&gt;
&lt;br /&gt;
Now that the GPO is created, wait for this to replicate to all ADs if there are several. Ensure that there are users in the redirection OU.&lt;br /&gt;
&lt;br /&gt;
Then, either wait for each machine to run a GPO update, or to get immediate results, open an Administrator Powershell on each workstation and run gpudate (with or without the /force flag).&lt;br /&gt;
&lt;br /&gt;
If all works, it will prompt a reboot. Allow this.&lt;br /&gt;
&lt;br /&gt;
On reboot, as the machine comes back up, after logging in, it should display a message that Folder Redirection is being applied. When this is done, there should be a green sync circle next to the default shortcut on this folder. If not, this means Offline Files is not enabled, but redirection itself might be.   &lt;br /&gt;
[[Category:Windows Tutorials]]&lt;/div&gt;</summary>
		<author><name>Rosemark</name></author>
	</entry>
	<entry>
		<id>https://www.rosemarknetworks.com/wiki/index.php?title=Offline_Uncorrectable_Sectors&amp;diff=64</id>
		<title>Offline Uncorrectable Sectors</title>
		<link rel="alternate" type="text/html" href="https://www.rosemarknetworks.com/wiki/index.php?title=Offline_Uncorrectable_Sectors&amp;diff=64"/>
		<updated>2024-10-08T16:37:39Z</updated>

		<summary type="html">&lt;p&gt;Rosemark: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Current Pending Sector is the number of locations the disk knows about that needs to be reallocated but haven&#039;t reallocated yet.&lt;br /&gt;
Since the disk has no source for the data to be reallocated it will remain in this state until you write into that location.&lt;br /&gt;
Once that location is written to, the disk will automatically reallocate the area to another place and write the new data in the new place and the current pending sector count will decrease.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can use diskscan on Linux or HD Tune on Windows to scan the disk for the bad locations and also attempt to &amp;quot;fix&amp;quot; the locations by making the software write into them in order to attempt the reallocation immediately.&lt;br /&gt;
 &lt;br /&gt;
 This message was generated by the smartd daemon running on:&lt;br /&gt;
 &lt;br /&gt;
    host name:  host-example&lt;br /&gt;
    DNS domain: example.local&lt;br /&gt;
 &lt;br /&gt;
 The following warning/error was logged by the smartd daemon:&lt;br /&gt;
 &lt;br /&gt;
 Device: /dev/sdf [SAT], 1 Offline uncorrectable sectors&lt;br /&gt;
 &lt;br /&gt;
 Device info:&lt;br /&gt;
 Micron_1100_MTFDDAK2T0TBN, S/N:17161B3C0923, WWN:5-00a075-11b3c0923, FW:M0MU031, 2.04 TB&lt;br /&gt;
 &lt;br /&gt;
 For details see host&#039;s SYSLOG.&lt;br /&gt;
 &lt;br /&gt;
 You can also use the smartctl utility for further investigation.&lt;br /&gt;
 The original message about this issue was sent at Wed May 27 01:46:08 2020 EDT&lt;br /&gt;
 Another message will be sent in 24 hours if the problem persists.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
 root@example:~# apt install diskscan&lt;br /&gt;
 &lt;br /&gt;
 diskscan [options] /dev/sd&lt;br /&gt;
 Options:&lt;br /&gt;
     -v, --verbose        - Increase verbosity, multiple uses for higher levels&lt;br /&gt;
     -f, --fix            - Attempt to fix near failures, nothing can be done for unreadable sectors&lt;br /&gt;
     -s, --scan &amp;lt;mode&amp;gt;    - Scan in order (seq, random)&lt;br /&gt;
     -e, --size &amp;lt;size&amp;gt;    - Scan size (default to 64K, must be multiple of 512)&lt;br /&gt;
     -o, --output &amp;lt;file&amp;gt;  - Output file (json)&lt;br /&gt;
     -r, --raw-log &amp;lt;file&amp;gt; - Raw log of all scan results (json)&lt;br /&gt;
     --force-mounted      - Allow checking a read-only mounted disk&lt;br /&gt;
     --force-mounted-rw   - Allow checking a read-write mounted disk&lt;br /&gt;
 &lt;br /&gt;
 root@example:~# diskscan /dev/sda&lt;br /&gt;
 diskscan version 0.19&lt;br /&gt;
 &lt;br /&gt;
 I: Validating path /dev/sda&lt;br /&gt;
 I: Disk start temperature is 28&lt;br /&gt;
 I: Opened disk /dev/sda sector size 512 num bytes 5000981077504&lt;br /&gt;
 I: Scanning disk /dev/sda in 65536 byte steps&lt;br /&gt;
 I: Scan started at: Thu May 25 11:23:35 2023&lt;br /&gt;
 &lt;br /&gt;
 Disk scan |                                                                                                        | ETA: 0h00m00s&lt;br /&gt;
 E: Error when reading at offset 0 size 65536 read -1, errno=0: Success&lt;br /&gt;
 I: Disk temperature changed from 30 to 31&lt;br /&gt;
 E: Details: error=need_retry data=none 06/29/00&lt;br /&gt;
 Disk scan |====                                                                                                    | ETA:10h18m51s&lt;br /&gt;
[[Category:Linux Tutorials]]&lt;/div&gt;</summary>
		<author><name>Rosemark</name></author>
	</entry>
	<entry>
		<id>https://www.rosemarknetworks.com/wiki/index.php?title=Offline_Uncorrectable_Sectors&amp;diff=63</id>
		<title>Offline Uncorrectable Sectors</title>
		<link rel="alternate" type="text/html" href="https://www.rosemarknetworks.com/wiki/index.php?title=Offline_Uncorrectable_Sectors&amp;diff=63"/>
		<updated>2024-10-08T16:30:43Z</updated>

		<summary type="html">&lt;p&gt;Rosemark: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Current Pending Sector is the number of locations the disk knows about that needs to be reallocated but haven&#039;t reallocated yet.&lt;br /&gt;
Since the disk has no source for the data to be reallocated it will remain in this state until you write into that location.&lt;br /&gt;
Once that location is written to, the disk will automatically reallocate the area to another place and write the new data in the new place and the current pending sector count will decrease.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can use diskscan on Linux or HD Tune on Windows to scan the disk for the bad locations and also attempt to &amp;quot;fix&amp;quot; the locations by making the software write into them in order to attempt the reallocation immediately.&lt;br /&gt;
 &lt;br /&gt;
 This message was generated by the smartd daemon running on:&lt;br /&gt;
 &lt;br /&gt;
    host name:  host-example&lt;br /&gt;
    DNS domain: example.local&lt;br /&gt;
 &lt;br /&gt;
 The following warning/error was logged by the smartd daemon:&lt;br /&gt;
 &lt;br /&gt;
 Device: /dev/sdf [SAT], 1 Offline uncorrectable sectors&lt;br /&gt;
 &lt;br /&gt;
 Device info:&lt;br /&gt;
 Micron_1100_MTFDDAK2T0TBN, S/N:17161B3C0923, WWN:5-00a075-11b3c0923, FW:M0MU031, 2.04 TB&lt;br /&gt;
 &lt;br /&gt;
 For details see host&#039;s SYSLOG.&lt;br /&gt;
 &lt;br /&gt;
 You can also use the smartctl utility for further investigation.&lt;br /&gt;
 The original message about this issue was sent at Wed May 27 01:46:08 2020 EDT&lt;br /&gt;
 Another message will be sent in 24 hours if the problem persists.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
 root@example:~# apt install diskscan&lt;br /&gt;
 &lt;br /&gt;
 diskscan [options] /dev/sd&lt;br /&gt;
 Options:&lt;br /&gt;
     -v, --verbose        - Increase verbosity, multiple uses for higher levels&lt;br /&gt;
     -f, --fix            - Attempt to fix near failures, nothing can be done for unreadable sectors&lt;br /&gt;
     -s, --scan &amp;lt;mode&amp;gt;    - Scan in order (seq, random)&lt;br /&gt;
     -e, --size &amp;lt;size&amp;gt;    - Scan size (default to 64K, must be multiple of 512)&lt;br /&gt;
     -o, --output &amp;lt;file&amp;gt;  - Output file (json)&lt;br /&gt;
     -r, --raw-log &amp;lt;file&amp;gt; - Raw log of all scan results (json)&lt;br /&gt;
     --force-mounted      - Allow checking a read-only mounted disk&lt;br /&gt;
     --force-mounted-rw   - Allow checking a read-write mounted disk&lt;br /&gt;
 &lt;br /&gt;
 root@example:~# diskscan /dev/sda&lt;br /&gt;
 diskscan version 0.19&lt;br /&gt;
 &lt;br /&gt;
 I: Validating path /dev/sda&lt;br /&gt;
 I: Disk start temperature is 28&lt;br /&gt;
 I: Opened disk /dev/sda sector size 512 num bytes 5000981077504&lt;br /&gt;
 I: Scanning disk /dev/sda in 65536 byte steps&lt;br /&gt;
 I: Scan started at: Thu May 25 11:23:35 2023&lt;br /&gt;
 &lt;br /&gt;
 Disk scan |                                                                                                        | ETA: 0h00m00s&lt;br /&gt;
 E: Error when reading at offset 0 size 65536 read -1, errno=0: Success&lt;br /&gt;
 I: Disk temperature changed from 30 to 31&lt;br /&gt;
 E: Details: error=need_retry data=none 06/29/00&lt;br /&gt;
 Disk scan |====                                                                                                    | ETA:10h18m51s&lt;/div&gt;</summary>
		<author><name>Rosemark</name></author>
	</entry>
	<entry>
		<id>https://www.rosemarknetworks.com/wiki/index.php?title=Offline_uncorrectable_sectors&amp;diff=62</id>
		<title>Offline uncorrectable sectors</title>
		<link rel="alternate" type="text/html" href="https://www.rosemarknetworks.com/wiki/index.php?title=Offline_uncorrectable_sectors&amp;diff=62"/>
		<updated>2024-10-08T15:03:11Z</updated>

		<summary type="html">&lt;p&gt;Rosemark: Rosemark moved page Offline uncorrectable sectors to Offline Uncorrectable Sectors: Misspelled title&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Offline Uncorrectable Sectors]]&lt;/div&gt;</summary>
		<author><name>Rosemark</name></author>
	</entry>
	<entry>
		<id>https://www.rosemarknetworks.com/wiki/index.php?title=Offline_Uncorrectable_Sectors&amp;diff=61</id>
		<title>Offline Uncorrectable Sectors</title>
		<link rel="alternate" type="text/html" href="https://www.rosemarknetworks.com/wiki/index.php?title=Offline_Uncorrectable_Sectors&amp;diff=61"/>
		<updated>2024-10-08T15:03:11Z</updated>

		<summary type="html">&lt;p&gt;Rosemark: Rosemark moved page Offline uncorrectable sectors to Offline Uncorrectable Sectors: Misspelled title&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Current Pending Sector is the number of locations the disk knows about that needs to be reallocated but haven&#039;t reallocated yet.&lt;br /&gt;
Since the disk has no source for the data to be reallocated it will remain in this state until you write into that location.&lt;br /&gt;
Once that location is written to, the disk will automatically reallocate the area to another place and write the new data in the new place and the current pending sector count will decrease.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can use diskscan on Linux or HD Tune on Windows to scan the disk for the bad locations and also attempt to &amp;quot;fix&amp;quot; the locations by making the software write into them in order to attempt the reallocation immediately.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
This message was generated by the smartd daemon running on:&lt;br /&gt;
&lt;br /&gt;
   host name:  hcss-pve03&lt;br /&gt;
   DNS domain: heard.k12.ga.us&lt;br /&gt;
&lt;br /&gt;
The following warning/error was logged by the smartd daemon:&lt;br /&gt;
&lt;br /&gt;
Device: /dev/sdf [SAT], 1 Offline uncorrectable sectors&lt;br /&gt;
&lt;br /&gt;
Device info:&lt;br /&gt;
Micron_1100_MTFDDAK2T0TBN, S/N:17161B3C0923, WWN:5-00a075-11b3c0923, FW:M0MU031, 2.04 TB&lt;br /&gt;
&lt;br /&gt;
For details see host&#039;s SYSLOG.&lt;br /&gt;
&lt;br /&gt;
You can also use the smartctl utility for further investigation.&lt;br /&gt;
The original message about this issue was sent at Wed May 27 01:46:08 2020 EDT&lt;br /&gt;
Another message will be sent in 24 hours if the problem persists.&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@folkvang:~# apt install diskscan&lt;br /&gt;
&lt;br /&gt;
diskscan [options] /dev/sd&lt;br /&gt;
Options:&lt;br /&gt;
    -v, --verbose        - Increase verbosity, multiple uses for higher levels&lt;br /&gt;
    -f, --fix            - Attempt to fix near failures, nothing can be done for unreadable sectors&lt;br /&gt;
    -s, --scan &amp;lt;mode&amp;gt;    - Scan in order (seq, random)&lt;br /&gt;
    -e, --size &amp;lt;size&amp;gt;    - Scan size (default to 64K, must be multiple of 512)&lt;br /&gt;
    -o, --output &amp;lt;file&amp;gt;  - Output file (json)&lt;br /&gt;
    -r, --raw-log &amp;lt;file&amp;gt; - Raw log of all scan results (json)&lt;br /&gt;
    --force-mounted      - Allow checking a read-only mounted disk&lt;br /&gt;
    --force-mounted-rw   - Allow checking a read-write mounted disk&lt;br /&gt;
&lt;br /&gt;
root@folkvang:~# diskscan /dev/sda&lt;br /&gt;
diskscan version 0.19&lt;br /&gt;
&lt;br /&gt;
I: Validating path /dev/sda&lt;br /&gt;
I: Disk start temperature is 28&lt;br /&gt;
I: Opened disk /dev/sda sector size 512 num bytes 5000981077504&lt;br /&gt;
I: Scanning disk /dev/sda in 65536 byte steps&lt;br /&gt;
I: Scan started at: Thu May 25 11:23:35 2023&lt;br /&gt;
&lt;br /&gt;
Disk scan |                                                                                                        | ETA: 0h00m00s&lt;br /&gt;
E: Error when reading at offset 0 size 65536 read -1, errno=0: Success&lt;br /&gt;
I: Disk temperature changed from 30 to 31&lt;br /&gt;
E: Details: error=need_retry data=none 06/29/00&lt;br /&gt;
Disk scan |====                                                                                                    | ETA:10h18m51s&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Rosemark</name></author>
	</entry>
	<entry>
		<id>https://www.rosemarknetworks.com/wiki/index.php?title=Offline_Uncorrectable_Sectors&amp;diff=58</id>
		<title>Offline Uncorrectable Sectors</title>
		<link rel="alternate" type="text/html" href="https://www.rosemarknetworks.com/wiki/index.php?title=Offline_Uncorrectable_Sectors&amp;diff=58"/>
		<updated>2024-10-08T15:02:02Z</updated>

		<summary type="html">&lt;p&gt;Rosemark: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Current Pending Sector is the number of locations the disk knows about that needs to be reallocated but haven&#039;t reallocated yet.&lt;br /&gt;
Since the disk has no source for the data to be reallocated it will remain in this state until you write into that location.&lt;br /&gt;
Once that location is written to, the disk will automatically reallocate the area to another place and write the new data in the new place and the current pending sector count will decrease.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can use diskscan on Linux or HD Tune on Windows to scan the disk for the bad locations and also attempt to &amp;quot;fix&amp;quot; the locations by making the software write into them in order to attempt the reallocation immediately.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
This message was generated by the smartd daemon running on:&lt;br /&gt;
&lt;br /&gt;
   host name:  hcss-pve03&lt;br /&gt;
   DNS domain: heard.k12.ga.us&lt;br /&gt;
&lt;br /&gt;
The following warning/error was logged by the smartd daemon:&lt;br /&gt;
&lt;br /&gt;
Device: /dev/sdf [SAT], 1 Offline uncorrectable sectors&lt;br /&gt;
&lt;br /&gt;
Device info:&lt;br /&gt;
Micron_1100_MTFDDAK2T0TBN, S/N:17161B3C0923, WWN:5-00a075-11b3c0923, FW:M0MU031, 2.04 TB&lt;br /&gt;
&lt;br /&gt;
For details see host&#039;s SYSLOG.&lt;br /&gt;
&lt;br /&gt;
You can also use the smartctl utility for further investigation.&lt;br /&gt;
The original message about this issue was sent at Wed May 27 01:46:08 2020 EDT&lt;br /&gt;
Another message will be sent in 24 hours if the problem persists.&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@folkvang:~# apt install diskscan&lt;br /&gt;
&lt;br /&gt;
diskscan [options] /dev/sd&lt;br /&gt;
Options:&lt;br /&gt;
    -v, --verbose        - Increase verbosity, multiple uses for higher levels&lt;br /&gt;
    -f, --fix            - Attempt to fix near failures, nothing can be done for unreadable sectors&lt;br /&gt;
    -s, --scan &amp;lt;mode&amp;gt;    - Scan in order (seq, random)&lt;br /&gt;
    -e, --size &amp;lt;size&amp;gt;    - Scan size (default to 64K, must be multiple of 512)&lt;br /&gt;
    -o, --output &amp;lt;file&amp;gt;  - Output file (json)&lt;br /&gt;
    -r, --raw-log &amp;lt;file&amp;gt; - Raw log of all scan results (json)&lt;br /&gt;
    --force-mounted      - Allow checking a read-only mounted disk&lt;br /&gt;
    --force-mounted-rw   - Allow checking a read-write mounted disk&lt;br /&gt;
&lt;br /&gt;
root@folkvang:~# diskscan /dev/sda&lt;br /&gt;
diskscan version 0.19&lt;br /&gt;
&lt;br /&gt;
I: Validating path /dev/sda&lt;br /&gt;
I: Disk start temperature is 28&lt;br /&gt;
I: Opened disk /dev/sda sector size 512 num bytes 5000981077504&lt;br /&gt;
I: Scanning disk /dev/sda in 65536 byte steps&lt;br /&gt;
I: Scan started at: Thu May 25 11:23:35 2023&lt;br /&gt;
&lt;br /&gt;
Disk scan |                                                                                                        | ETA: 0h00m00s&lt;br /&gt;
E: Error when reading at offset 0 size 65536 read -1, errno=0: Success&lt;br /&gt;
I: Disk temperature changed from 30 to 31&lt;br /&gt;
E: Details: error=need_retry data=none 06/29/00&lt;br /&gt;
Disk scan |====                                                                                                    | ETA:10h18m51s&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Rosemark</name></author>
	</entry>
	<entry>
		<id>https://www.rosemarknetworks.com/wiki/index.php?title=ZFS_Failed_Disk_Replacement&amp;diff=56</id>
		<title>ZFS Failed Disk Replacement</title>
		<link rel="alternate" type="text/html" href="https://www.rosemarknetworks.com/wiki/index.php?title=ZFS_Failed_Disk_Replacement&amp;diff=56"/>
		<updated>2024-10-08T15:02:02Z</updated>

		<summary type="html">&lt;p&gt;Rosemark: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;root@Chn-pve01:~# cat ZFS_Replace-Boot-Disk.txt&lt;br /&gt;
==Copy partitions from good disk sda to blank disk sdb==&lt;br /&gt;
&amp;lt;b&amp;gt;sgdisk -R /dev/sdb /dev/sda&amp;lt;/b&amp;gt;	# sgdisk -R /dev/sdb&amp;lt;Replicate to this disk&amp;gt;  /dev/sda&amp;lt;From this disk&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;sgdisk -G /dev/sdb&amp;lt;/b&amp;gt;		# randomize the GUID on the new disk since it was copied from the other drive.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Using Parted to verify the partition table of /dev/sdl==&lt;br /&gt;
&amp;lt;b&amp;gt;(parted) select /dev/sdl&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Using /dev/sdl&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;(parted) p&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:Model: ATA WDC WD2000FYYZ-0 (scsi)&amp;lt;br&amp;gt;&lt;br /&gt;
:Disk /dev/sdl: 2000398934016B&amp;lt;br&amp;gt;&lt;br /&gt;
:Sector size (logical/physical): 512B/512B&amp;lt;br&amp;gt;&lt;br /&gt;
:Partition Table: gpt&amp;lt;br&amp;gt;&lt;br /&gt;
:Disk Flags:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
:Number Start End Size File system Name Flags&amp;lt;br&amp;gt;&lt;br /&gt;
:1 1048576B 2097151B 1048576B Grub-Boot-Partition bios_grub&amp;lt;br&amp;gt;&lt;br /&gt;
:2 2097152B 136314879B 134217728B fat32 EFI-System-Partition boot, esp&amp;lt;br&amp;gt;&lt;br /&gt;
:3 136314880B 2000397885439B 2000261570560B zfs PVE-ZFS-Partition&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(Ok partitions copied)&lt;br /&gt;
&lt;br /&gt;
==Copy data from /dev/sda1 to /dev/sdb1 and /dev/sda2 to /dev/sdb2==&lt;br /&gt;
&amp;lt;b&amp;gt;dd if=/dev/sda1 of=/dev/sdb1 bs=512&amp;lt;/b&amp;gt; #This is the bios boot partition  &amp;lt;br&amp;gt;&lt;br /&gt;
root@folkvang:~# &amp;lt;b&amp;gt;dd if=/dev/sdk1 of=/dev/sdl1 bs=512&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;  &lt;br /&gt;
2014+0 records in   &amp;lt;br&amp;gt;&lt;br /&gt;
2014+0 records out  &amp;lt;br&amp;gt;&lt;br /&gt;
1031168 bytes (1.0 MB) copied, 0.10164 s, 10.1 MB/s  &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Replace the failed partition in the zpool==&lt;br /&gt;
Find the ID of the failed block device&lt;br /&gt;
&lt;br /&gt;
:	root@folkvang:~# &amp;lt;b&amp;gt;zpool status&amp;lt;/b&amp;gt;&lt;br /&gt;
::	  pool: rpool&lt;br /&gt;
::	  state: DEGRADED&lt;br /&gt;
::   	  status: One or more devices could not be used because the label is missing or invalid. Sufficient replicas exist for the pool to continue functioning in a degraded state.&lt;br /&gt;
::      action: Replace the device using &#039;zpool replace&#039;.&lt;br /&gt;
::	  see: http://zfsonlinux.org/msg/ZFS-8000-4J&lt;br /&gt;
::	  scan: scrub repaired 0 in 0h25m with 0 errors on Sun May  8 11:20:27 2016&lt;br /&gt;
::	  config:&lt;br /&gt;
	&lt;br /&gt;
::		NAME                    STATE     READ WRITE CKSUM&lt;br /&gt;
::		rpool                   DEGRADED     0     0     0&lt;br /&gt;
::		  mirror-0              DEGRADED     0     0     0&lt;br /&gt;
::		    993077023721924477  FAULTED      0     0     0  was /dev/sdk2&lt;br /&gt;
::		    sdk2                ONLINE       0     0     0&lt;br /&gt;
::	  errors: No known data errors&lt;br /&gt;
==Call zpool to replace the failed device==&lt;br /&gt;
&lt;br /&gt;
:	root@folkvang:~# &amp;lt;b&amp;gt;zpool replace -f rpool 993077023721924477 /dev/sdl2&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:	&amp;lt;b&amp;gt;Make sure to wait until resilver is done before rebooting.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:	root@folkvang:~# &amp;lt;b&amp;gt;zpool status&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
::	  pool: rpool&amp;lt;br&amp;gt;&lt;br /&gt;
:::	  state: DEGRADED&amp;lt;br&amp;gt;&lt;br /&gt;
:::	  status: One or more devices is currently being resilvered.  The pool will continue to function, possibly in a degraded state.&amp;lt;br&amp;gt;&lt;br /&gt;
:::	  action: Wait for the resilver to complete.&amp;lt;br&amp;gt;&lt;br /&gt;
:::	  scan: resilver in progress since Fri Sep  2 16:45:53 2016&amp;lt;br&amp;gt;&lt;br /&gt;
:::	    13.2M scanned out of 8.83G at 902K/s, 2h50m to go&amp;lt;br&amp;gt;&lt;br /&gt;
:::	    12.9M resilvered, 0.15% done&amp;lt;br&amp;gt;&lt;br /&gt;
:::	  config:&amp;lt;br&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
::		NAME                      STATE     READ WRITE CKSUM&amp;lt;br&amp;gt;&lt;br /&gt;
::		rpool                     DEGRADED     0     0     0&amp;lt;br&amp;gt;&lt;br /&gt;
:::		  mirror-0                DEGRADED     0     0     0&amp;lt;br&amp;gt;&lt;br /&gt;
:::		    replacing-0           UNAVAIL      0     0     0&amp;lt;br&amp;gt;&lt;br /&gt;
:::		      993077023721924477  FAULTED      0     0     0  was /dev/sdk2&amp;lt;br&amp;gt;&lt;br /&gt;
:::		      sdl2                ONLINE       0     0     0  (resilvering)&amp;lt;br&amp;gt;&lt;br /&gt;
:::		    sdk2                  ONLINE       0     0     0&amp;lt;br&amp;gt;&lt;br /&gt;
:::&lt;br /&gt;
:::	  errors: No known data errors&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(Just in case I did)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;grub-install /dev/sdk&amp;lt;br&amp;gt;&lt;br /&gt;
grub-install /dev/sdl&amp;lt;br&amp;gt;&lt;br /&gt;
update-grub&amp;lt;/b&amp;gt;&lt;/div&gt;</summary>
		<author><name>Rosemark</name></author>
	</entry>
	<entry>
		<id>https://www.rosemarknetworks.com/wiki/index.php?title=Firebox_Content_Inspection&amp;diff=54</id>
		<title>Firebox Content Inspection</title>
		<link rel="alternate" type="text/html" href="https://www.rosemarknetworks.com/wiki/index.php?title=Firebox_Content_Inspection&amp;diff=54"/>
		<updated>2024-10-08T15:02:02Z</updated>

		<summary type="html">&lt;p&gt;Rosemark: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Heard County School District]]&lt;br /&gt;
The following guide describes the system in place that allows Heard County School District to allow / deny HTTP(S) content coming from the internet.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
Firebox firewalls have a feature called Web Blocker which utilizes HTTPS Content Inspection. [http://www.watchguard.com/help/docs/help-center/en-US/content/en-us/Fireware/services/webblocker/webblocker_about_c.html WebBlocker] intercepts incoming traffic from the internet and analyzes it against a customizable table of rules to determine if it contains materials that violate the rules of the organization. Aside from the initial configuration, WebBlocker creates a problematic situation for any websites being served across SSL. It has to decrypt the HTTPS packets to analyze them for inappropriate content. This means that the firewall has to re-encrypt the pages with its own self-signed SSL certificate before passing it to the user, but the user doesn&#039;t automatically trust this certificate, and the average user does not know how to navigate this issue. &lt;br /&gt;
&lt;br /&gt;
There are two possible solutions: you can distribute the self-signed certificate to each machine directly or replace the certificate with one signed by a third party certificate authority (CA). &lt;br /&gt;
&lt;br /&gt;
Using a third party certificate authority (CA) is the best and most highly recommended option as, if you have to replace the firewall, it&#039;s going to have a completely different self-signed certificate and the clients will no longer trust it. This problem is irrelevant in the case of a third party CA as you only have to reissue / reinstall the certificate to the firewall, and it&#039;s implicitly trusted by the clients already.&lt;br /&gt;
&lt;br /&gt;
== Certificate Authority ==&lt;br /&gt;
Setting up an enterprise CA can be a daunting task depending on your usecase. What we&#039;re aiming for here is to create a new [[Public Key Infrastructure|PKI]], where the root certificate is distributed to all client machines, and then the root certificate is used to sign a re-signing certificate (similar to an intermediary leaf in other, larger PKIs) that gets used to sign the content from inspected websites. &lt;br /&gt;
&lt;br /&gt;
One system that fits this perfectly is the Windows Active Directory Certificate Services role. &lt;br /&gt;
&lt;br /&gt;
Set up a machine in your AD domain and give it a static IP and hostname. Ensure that the hostname is exactly what you want it to be. &#039;&#039;&#039;Certificate Services breaks completely if you ever change it.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
When installing the role, make sure the following are all set:&lt;br /&gt;
&lt;br /&gt;
[[File:ADCSRoles.png|620x620px]]&lt;br /&gt;
&lt;br /&gt;
When configuring the roles after the install, ensure that the options &amp;quot;Root CA&amp;quot; and &amp;quot;Enterprise CA&amp;quot; are selected. Root CA sets it to create a new root certificate which will be the start of our PKI. Enterprise distributes the root CA to all machines in the domain. &lt;br /&gt;
&lt;br /&gt;
Also select the rest of the roles that were installed above when configuring. You don&#039;t have to do anything special to them, this just enables them.&lt;br /&gt;
&lt;br /&gt;
It&#039;s a good idea to now run gpupdate /force and then reboot the machine.&lt;br /&gt;
&lt;br /&gt;
Now, after you do this, open a web browser and navigate to http://[fqdn of the machine including domain]/certsrv. A login prompt at the top of your screen will appear. Log in with a domain administrator account. Make sure you include the domain prefix if you&#039;re using &amp;quot;Administrator&amp;quot; or else it will log in using the local admin privileges of that machine, which do NOT include &amp;quot;network admin&amp;quot; privileges. &lt;br /&gt;
&lt;br /&gt;
== Generate the CSR ==&lt;br /&gt;
Now that we have our PKI infrastructure in place, we need to generate the signing certificate in the Fireware Web UI.&lt;br /&gt;
&lt;br /&gt;
From the Fireware Web UI, go to &#039;&#039;&#039;System &amp;gt; Certificates&#039;&#039;&#039; and select &#039;&#039;&#039;Create CSR&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Press &#039;&#039;&#039;Next.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
From the list of options that appears, select &#039;&#039;&#039;Proxy Authority&#039;&#039;&#039; (not &#039;&#039;Proxy Server&#039;&#039;). &lt;br /&gt;
&lt;br /&gt;
Fill out the following fields with either the defaults listed or with the information for your domain depending on the form.&lt;br /&gt;
&lt;br /&gt;
At the end, you will have a CSR. Copy this and go to the url referenced previously, http://[fqdn of the machine including domain]/certsrv, and log in. &lt;br /&gt;
&lt;br /&gt;
Select &#039;&#039;&#039;Request a certificate.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Choose &#039;&#039;&#039;advanced certificate request.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Paste your CSR into the box above and from the dropdown select &#039;&#039;&#039;Subordinate Certificate Authority.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
From the results page, download the file as base 64. &lt;br /&gt;
&lt;br /&gt;
Now, we also need to export the root CA and import it.&lt;br /&gt;
&lt;br /&gt;
== Import Certificates ==&lt;br /&gt;
From certsrv, select &#039;&#039;&#039;Download a CA certificate, certificate chain, or CRL&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Select &#039;&#039;&#039;Download CA Certificate&#039;&#039;&#039; and download the file.&lt;br /&gt;
&lt;br /&gt;
From the Fireware Web UI Certificate page we previously navigated to, select &#039;&#039;&#039;Import&#039;&#039;&#039; or &#039;&#039;&#039;Import Certificate&#039;&#039;&#039;. Select &#039;&#039;&#039;General Use&#039;&#039;&#039;. Import the root certificate we just downloaded. Repeat this procedure for the signing certificate, but select &#039;&#039;&#039;Proxy Authority.&#039;&#039;&#039; This will replace the existing Proxy Authority certificate and webblocker will now use your new one. &lt;br /&gt;
&lt;br /&gt;
You may now test this by attempting to access invalid content.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting Firefox ==&lt;br /&gt;
There&#039;s a very good chance that you will now discover that you still cannot invalid content without being prompted with the bad certificate screen if you use Firefox on your client machine. This is because Firefox does not implicitly trust root enterprise certificates.&lt;br /&gt;
&lt;br /&gt;
To test if your certificate is working at all, in the Firefox URL bar type about:config and press continue past the warning that appears. Search for &amp;quot;enterprise&amp;quot; and enable the enterprise roots rule, then restart Firefox and attempt again. It should now work, but you probably do not want to do this to every single computer running Firefox.&lt;br /&gt;
&lt;br /&gt;
[https://community.spiceworks.com/how_to/138802-configure-firefox-to-use-windows-certificate-store-via-gpo This guide from spiceworks will allow you to fix this through GPO!]&lt;/div&gt;</summary>
		<author><name>Rosemark</name></author>
	</entry>
	<entry>
		<id>https://www.rosemarknetworks.com/wiki/index.php?title=Zabbix&amp;diff=25</id>
		<title>Zabbix</title>
		<link rel="alternate" type="text/html" href="https://www.rosemarknetworks.com/wiki/index.php?title=Zabbix&amp;diff=25"/>
		<updated>2024-10-07T18:55:05Z</updated>

		<summary type="html">&lt;p&gt;Rosemark: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Zabbix model=&lt;br /&gt;
Zabbix is an [[Open Source Software|open source]] network monitoring software comprised of several components in a Client-Server model.  &lt;br /&gt;
==Zabbix Server==&lt;br /&gt;
A central node running Zabbix Server is responsible for managing a MySQL database and performing passive checks on its clients, called Hosts. &lt;br /&gt;
=Overview=&lt;br /&gt;
Zabbix Server can be installed in several ways but the two most efficient ways to set one up are through either Linux packages or through an appliance, though the appliance is not meant for production usage. &lt;br /&gt;
==Installation from packages==&lt;br /&gt;
This guide / reference assumes Debian 11 (Bullseye), but the concept can be applied nearly identically to any distro, so long as you adjust one or two steps due to package manager differences. Also, make sure you have a MySQL server setup beforehand. On that note, before we get ahead of ourselves, we&#039;re most likely going to use the lxc-turnkey-mysql container template within Proxmox, and so there&#039;s one single extra step before we install Zabbix:&lt;br /&gt;
===Pre-emptive en_US UTF8 Fix===&lt;br /&gt;
The default configuration of MySQL / MariaDB in the turnkey container is missing a specific locale file that, if missing, just completely busts Zabbix&#039;s MySQL integration beyond comprehension. Easy fix though. From your MySQL database, run &amp;lt;b&amp;gt;dpkg-reconfigure locales&amp;lt;/b&amp;gt; and select en_US UTF8. For good measure run update-locales after.&lt;br /&gt;
===Get Zabbix server repositorry===&lt;br /&gt;
The first step is to add Zabbix&#039; repository to our server. For Zabbix 6.4 on Debian 11, this looks like this:&lt;br /&gt;
: &amp;lt;b&amp;gt;wget https://repo.zabbix.com/zabbix/6.4/debian/pool/main/z/zabbix-release/zabbix-release_6.4-1+debian11_all.deb&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;b&amp;gt;dpkg -i zabbix-release_6.4-1+debian11_all.deb&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;b&amp;gt;apt update&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Install server, frontend, and agent===&lt;br /&gt;
The next step is to install several packages from that repository. Server is the core of Zabbix, the frontend gives us access to the web interface, and agent is installed onto the server for self-diagnostics. This can be done as a one liner.&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;b&amp;gt;apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Most of these are self-explanatory but zabbix-sql-scripts is particularly important in the next step. &lt;br /&gt;
===Create database===&lt;br /&gt;
Zabbix, on a broad enough scale, can be understood to be a layer on top of an SQL database, so naturally we need to create a database for it to connect to. The official instructions have a few vague points that I&#039;m adjusting. Before we can create the database we should copy the files that zabbix-sql-scripts generated over to the server. Use SCP to copy /usr/share/zabbix-sql-scripts/mysql/server.sql.qz from Zabbix Server to the MySQL server. &amp;lt;br&amp;gt;&lt;br /&gt;
Open MySQL using &amp;lt;b&amp;gt;mysql -uroot -p&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt; and then run the following SQL query commands: &amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;b&amp;gt;create database zabbix character set utf8mb4 collate utf8mb4_bin;&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;b&amp;gt;create user &#039;zabbix&#039;@&#039;IPOFZABBIXSERVER&#039; identified by &#039;DBPASSWORD&#039;&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;b&amp;gt;grant all privileges on zabbix.* to &#039;zabbix&#039;@&#039;IPOFZABBIXSERVER&#039;;&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;b&amp;gt;set global log_bin_trust_function_creators = 1;&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;b&amp;gt;quit;&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Then, from the database server&#039;s shell, we need to use zcat to import a pre-defined database schema into MySQL. This is more or less the last step. &amp;lt;b&amp;gt;Please note that this command has no stdout as it&#039;s piped into the MySQL command, so it may seem like it&#039;s hanging. It takes a few minutes at the least, up to 20 on slow machines. This is normal. Just leave it open.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;b&amp;gt;zcat /path/to/server.sql.qz | mysql --default-character-set = utf8mb4 -uzabbix -p zabbix&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
When this is done, open mysql using -uroot -p again, and &amp;lt;b&amp;gt;set global log_bin_trust_functioin_creators = 0.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Lastly, on the Zabbix server open /etc/zabbix/zabbix_server.conf and add &amp;lt;b&amp;gt;DBPassword=[password]&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Enable and restart the server, agent, and frontend. &amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;b&amp;gt;systemctl enable zabbix-server zabbix-agent apache2&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;b&amp;gt;systemctl restart zabbix-server zabbix-agent apache2&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Visit the frontend at http://[ip]/zabbix/ for the last few installation steps, which are explained on-screen (essentially just giving Zabbix Server the IP of the MySQL database.)&lt;br /&gt;
==Zabbix Proxy==&lt;br /&gt;
The process for Zabbix Proxy is very similar, but it needs a separate database, on a separate MySQL install rather than just a different MySQL database itself - I believe this has to do with MySQL socket locking and naming conflicts. In theory, this could be hacked around a bit, using a different zabbix user, but I haven&#039;t confirmed this and it&#039;s not officially supported, and I &amp;lt;i&amp;gt;have&amp;lt;/i&amp;gt; confirmed it simply does not function otherwise. The process is very similar, so here are some condensed instructions. &lt;br /&gt;
Create a separate MySQL / MariaDB installation, either as a separate container or as an install on the proxy itself. Make sure to perform the UTF8 fix as described above. &lt;br /&gt;
: &amp;lt;b&amp;gt;create database zabbix_proxy character set utf8mb4 collate utf8mb4_bin;&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;b&amp;gt;create user &#039;zabbix&#039;@&#039;IPOFZABBIXPROXY&#039; identified by &#039;DBPASSWORD&#039;&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;b&amp;gt;grant all privileges on zabbix_proxy.* to &#039;zabbix&#039;@&#039;IPOFZABBIXPROXY&#039;;&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;b&amp;gt;set global log_bin_trust_function_creators = 1;&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;b&amp;gt;quit;&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt; &lt;br /&gt;
Copy /usr/share/zabbix-sql-scripts/mysql/proxy.sql from the proxy to the DB. &lt;br /&gt;
: &amp;lt;b&amp;gt;cat zabbix-sql-scripts/mysql/proxy.sql | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix_proxy&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;b&amp;gt;set global log_bin_trust_function_creators = 0;&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Set the DBPassword field in /etc/zabbix/zabbix_proxy.conf&lt;br /&gt;
: systemctl restart zabbix-proxy&lt;br /&gt;
: systemctl enable zabbix-proxy&lt;br /&gt;
==Post-install Configuration Changes==&lt;br /&gt;
These initial installations of Zabbix Server and Zabbix Proxy are missing a few configuration changes that render them useless. Here&#039;s a rundown of the ones that matter first:&lt;br /&gt;
===/etc/zabbix/zabbix_server.conf===&lt;br /&gt;
: DBName=zabbix (name of the SQL database&lt;br /&gt;
: DBUser=zabbix (name of the MySQL user Zabbix interacts through - I think this might be the source of conflicts with Proxy. Will test later.)&lt;br /&gt;
: DBPassword=Password (as set for MySQL previously. Wonder if there&#039;s a way to have this be a hidden variable.)&lt;br /&gt;
: StartDiscoverers can be set to anything between 0 and 1000. This is the number of subprocesses that polls the network on a regular basis (see &amp;quot;Zabbix Autodiscovery&amp;quot;) for agents.&lt;br /&gt;
===/etc/zabbix/zabbix_proxy.conf===&lt;br /&gt;
: ProxyMode=0 (0 is Active mode, 1 is Passive mode - Active is preferred)&lt;br /&gt;
: Server=SERVERIP (IP or DNS name for the Server the Proxy is a slave to)&lt;br /&gt;
: Hostname=zabbixProxy (This is SUPER important - the hostname is used in some communication somewhere between Server and Proxy and if this is mismatched / not known to the Server literally &amp;lt;b&amp;gt;nothing&amp;lt;/b&amp;gt; works!)&lt;br /&gt;
: DBHost=MySQLServerIP (defaults to localhost.) &lt;br /&gt;
: DBName=zabbix_proxy&lt;br /&gt;
: DBUser=zabbix &lt;br /&gt;
: DBPassword=password&lt;br /&gt;
&lt;br /&gt;
==Zabbix Agent==&lt;br /&gt;
Installing agent on a host is really straight forward. Install the repository as before...&lt;br /&gt;
: &amp;lt;b&amp;gt;wget https://repo.zabbix.com/zabbix/6.4/debian/pool/main/z/zabbix-release/zabbix-release_6.4-1+debian11_all.deb&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;b&amp;gt;dpkg -i zabbix-release_6.4-1+debian11_all.deb&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;b&amp;gt;apt update&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;b&amp;gt;apt install zabbix-agent&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Important settings in /etc/zabbix/zabbix_agentd.conf:&lt;br /&gt;
: Server=IPOFSERVERORPROXY&lt;br /&gt;
: ServerActive=IPOFSERVERORPROXY (especially important with proxies)&lt;br /&gt;
: hostname is the hostname of the host you&#039;re configuring agent on - must match Zabbix Server host configuration&lt;br /&gt;
There&#039;s really not much else you have to do for Agent. &lt;br /&gt;
: &amp;lt;b&amp;gt;systemctl restart zabbix-agent&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;b&amp;gt;systemctl enable zabbix-agent&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==Using Zabbix templates and monitoring items==&lt;br /&gt;
[[Category:Appliances]]&lt;/div&gt;</summary>
		<author><name>Rosemark</name></author>
	</entry>
	<entry>
		<id>https://www.rosemarknetworks.com/wiki/index.php?title=Proxy_Server&amp;diff=17</id>
		<title>Proxy Server</title>
		<link rel="alternate" type="text/html" href="https://www.rosemarknetworks.com/wiki/index.php?title=Proxy_Server&amp;diff=17"/>
		<updated>2024-10-07T18:55:05Z</updated>

		<summary type="html">&lt;p&gt;Rosemark: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A &amp;lt;b&amp;gt;proxy server&amp;lt;/b&amp;gt; is a server that stands between two network devices, a client and a sender. The client sends a request to the proxy, which then forwards it to a target server. The target server responds to the proxy, which then responds to the client on behalf of the target. The target server never sees the IP of the client. There are several applications and purposes for proxy servers, most notably including [[#Proxy_Server|reverse proxies.]]&lt;br /&gt;
&lt;br /&gt;
==Reverse Proxies==&lt;br /&gt;
In a reverse proxy, the proxy faces a web server on its own network. The web server isn&#039;t accessible from the internet, but the proxy is, potentially through port forwarding. An internet user sends a request for information to the proxy server, and the proxy server then relays that to the web server. The web server returns the information back to the proxy, which then returns it to the internet. The important detail here is that the reverse proxy can accept or reject requests depending on certain criteria. This adds a helpful point in which to add authorization measures, such as [[Authelia]].&lt;/div&gt;</summary>
		<author><name>Rosemark</name></author>
	</entry>
	<entry>
		<id>https://www.rosemarknetworks.com/wiki/index.php?title=MySQL&amp;diff=11</id>
		<title>MySQL</title>
		<link rel="alternate" type="text/html" href="https://www.rosemarknetworks.com/wiki/index.php?title=MySQL&amp;diff=11"/>
		<updated>2024-10-07T18:55:05Z</updated>

		<summary type="html">&lt;p&gt;Rosemark: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Overview= &lt;br /&gt;
&amp;lt;b&amp;gt;MySQL&amp;lt;/b&amp;gt; is an [[RDBMS]] database standard most commonly implemented as MySQL Server or its modern, cross-compatible counterpart, MariaDB. Due to its more modern nature, this guide assumes at all points that the DB in question is MariaDB. There&#039;s no meaningful difference for the sake of this documentation unless explicitly stated. MySQL is one of the most popular database backends in the industry, and is the database of preference for [[MediaWiki]] and [[Zabbix|both Zabbix Server and Proxy]]. &lt;br /&gt;
MySQL uses its own dialect of [[SQL]]. MariaDB exactly matches MySQL&#039;s API calls and SQL variety, though newer features diverge from traditional MySQL. &amp;lt;sup&amp;gt;(investigate this!)&amp;lt;/sup&amp;gt;  &lt;br /&gt;
=Installation and Initial Database Creation Steps=&lt;br /&gt;
See [[Unix Package Managers]] for non-APT repositories. Assumes Debian / Ubuntu. &amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;b&amp;gt;apt update&amp;lt;/b&amp;gt;&lt;br /&gt;
: &amp;lt;b&amp;gt;apt install mariadb-server&amp;lt;/b&amp;gt;&lt;br /&gt;
The default MySQL database has nothing in it, and one user, &#039;root&#039;@&#039;localhost&#039;. Users are defined by host. &amp;lt;br&amp;gt;  &lt;br /&gt;
Due to its compatibility with standard MySQL, you can use the MySQL command as well as third party applications that refer to MySQL. &amp;lt;br&amp;gt;  &lt;br /&gt;
To enter the MySQL console: &amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;b&amp;gt;(sudo) mysql -uroot -p&amp;lt;/b&amp;gt; &lt;br /&gt;
* -u is a prefix following the name of the user. You can have a space between it and the username, but it seems convention is to leave it out. &lt;br /&gt;
* The above stipulation applies to all options except -p, which signifies the password. The password MUST immediately follow it. If the password is left blank, the stdin will poll you for it, then follow after authentication. &lt;br /&gt;
* The default password seems to be the password of the account that installs and starts MySQL. &lt;br /&gt;
Let&#039;s create a simple database, give it a table, give it two entries, and then move on. &amp;lt;br&amp;gt;&lt;br /&gt;
From the console, type: &amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;b&amp;gt; CREATE DATABASE testDatabase;&amp;lt;/b&amp;gt;&lt;br /&gt;
This creates the database.&lt;br /&gt;
: &amp;lt;b&amp;gt; USE testDatabase;&amp;lt;/b&amp;gt; &lt;br /&gt;
This sets testDatabase as the currently active database - one MySQL installation can house &amp;lt;b&amp;gt;multiple&amp;lt;/b&amp;gt; databases.&lt;br /&gt;
: &amp;lt;b&amp;gt; CREATE TABLE thisIsATestTable (testColumn1_ID int, testColumn2_Name varchar(255));&amp;lt;/b&amp;gt;&lt;br /&gt;
This creates a table in testDatabase with two columns, one integer and one 255 character string. &lt;br /&gt;
Let&#039;s add two entries:  &lt;br /&gt;
: &amp;lt;b&amp;gt; INSERT INTO thisIsATestTable VALUES (1, &#039;Hello&#039;);&amp;lt;/b&amp;gt;&lt;br /&gt;
: &amp;lt;b&amp;gt; INSERT INTO thisIsATestTable VALUES (2, &#039;World&#039;);&amp;lt;/b&amp;gt;&lt;br /&gt;
We use the &amp;lt;b&amp;gt;INSERT INTO&amp;lt;/b&amp;gt; keyword to select the table we&#039;re adding the entries to, and then VALUES acts sort of like a function taking a set of values as parameters to insert, following the schema of the table. If you wish to only insert into one column (or any partial collection of the table&#039;s columns) you may use the following format: &lt;br /&gt;
: &amp;lt;b&amp;gt; INSERT INTO thisIsATestTable(testColumn2_name) VALUES (&#039;from the otherside&#039;);&amp;lt;/b&amp;gt; &lt;br /&gt;
In this situation, the columns we don&#039;t add values to will be null. Case in point: &amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;b&amp;gt; SELECT * FROM thisIsATestTable; &amp;lt;/b&amp;gt;&lt;br /&gt;
:: &amp;lt;i&amp;gt;1 - Hello&amp;lt;/i&amp;gt;&lt;br /&gt;
:: &amp;lt;i&amp;gt;1 - World&amp;lt;/i&amp;gt;&lt;br /&gt;
:: &amp;lt;i&amp;gt;null - from the otherside&amp;lt;/i&amp;gt;&lt;br /&gt;
We could, of course, set this up to auto increment by entry, by defining our table as such: &amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;b&amp;gt; CREATE TABLE thisIsATestTable (testColumn1_ID int NOT NULL AUTO_INCREMENT, testColumn2_Name varchar(255), PRIMARY KEY(testColumn1_ID));&amp;lt;/b&amp;gt;  &lt;br /&gt;
After doing this, we use null instead of a number when adding a whole entry, or if partial, we specify all columns except the ID. Once it enters into the database, it will get an ID by order of insertion.&lt;br /&gt;
=Backups using automysqlbackup=&lt;br /&gt;
We can backup our MySQL databases through automysqlbackup, a third party package we can download that converts our databases into sql files that first create the database, table, etc, then populate their values. The next subsection covers the restoration process.  &lt;br /&gt;
First, install automysqlbackup:&lt;br /&gt;
: &amp;lt;b&amp;gt;apt update&amp;lt;/b&amp;gt;&lt;br /&gt;
: &amp;lt;b&amp;gt;apt install automysqlbackup&amp;lt;/b&amp;gt;&lt;br /&gt;
We can then run it just by itself:  &lt;br /&gt;
: &amp;lt;b&amp;gt;automysqlbackup&amp;lt;/b&amp;gt; &lt;br /&gt;
The results appear in /var/lib/automysqlbackup/ with the first backup done appearing in the /var/lib/automysqlbackup/daily directory. Each individual database appears as its own directory, and in these directories are SQL script files, packaged as [[Gunzip|gzips]].    &lt;br /&gt;
=Formatting databases through piping=&lt;br /&gt;
We can use SQL script files to restore a backup. Since the SQL scripts are just SQL that reconstructs the database from scratch, we can use the MySQL command and pipe these scripts into it. This method assumes the database itself is already created, but empty. This can be preceded just by using &amp;lt;b&amp;gt;CREATE DATABASE &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. The formula for this is essentially using gunzip to unzip the file and piping them in: &lt;br /&gt;
: &amp;lt;b&amp;gt;gunzip -c file.sql.gz | mysql -uroot -p&amp;lt;/b&amp;gt;&lt;br /&gt;
=Users and remote access=&lt;br /&gt;
Last major note here, access to a given database and tables within it are assumed blocked for all users by default and need to be specified. Further, users are differentiated by both name and host, so that for example, a non-root user on the localhost might have higher permissions than the same non-root user communicating from an on-site workstation, and higher still than the same non-root user communicating offsite. Here&#039;s an example: &lt;br /&gt;
: &amp;lt;b&amp;gt;CREATE USER &#039;maeve&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;password&#039; WITH GRANT OPTION;&amp;lt;/b&amp;gt;&lt;br /&gt;
: &amp;lt;b&amp;gt;GRANT ALL PRIVILEGES ON testDatabase.* TO &#039;Maeve&#039;@&#039;localhost&#039;;&amp;lt;/b&amp;gt;&lt;br /&gt;
: &amp;lt;b&amp;gt;CREATE USER &#039;maeve&#039;@&#039;192.168.4.25&#039; IDENTIFIED BY &#039;password&#039;;&amp;lt;/b&amp;gt;&lt;br /&gt;
: &amp;lt;b&amp;gt;GRANT ALL PRIVILEGES ON testDatabase.thisIsATestTable TO &#039;Maeve&#039;@&#039;192.168.4.25&#039;;&amp;lt;/b&amp;gt;&lt;br /&gt;
This is mostly self explanatory but I will mention that WITH GRANT OPTION specifies that, logged in as &#039;maeve&#039;@&#039;localhost&#039;, the user could grant the same permissions to another user, essentially allowing for delegation.&lt;br /&gt;
==Notes==&lt;br /&gt;
* In MySQL, double quotes aren&#039;t used for string delimination. We use single quotes instead, and two single quotes together for a single quote within a string, such as a possessive apostrophe. &lt;br /&gt;
[[Category:Infrastructure]]&lt;/div&gt;</summary>
		<author><name>Rosemark</name></author>
	</entry>
	<entry>
		<id>https://www.rosemarknetworks.com/wiki/index.php?title=Folder_Redirection&amp;diff=7</id>
		<title>Folder Redirection</title>
		<link rel="alternate" type="text/html" href="https://www.rosemarknetworks.com/wiki/index.php?title=Folder_Redirection&amp;diff=7"/>
		<updated>2024-10-07T18:55:05Z</updated>

		<summary type="html">&lt;p&gt;Rosemark: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;Folder Redirection&#039;&#039;&#039; is a GPO option in [[Windows Active Directory|Active Directory]] that allows an admin to select one or several folders from a list of Windows folders to be replicated from a Workstation or server to a corresponding folder on a network share. &lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
Folder Redirection is a Computer Configuration policy option set within a GPO. &lt;br /&gt;
&lt;br /&gt;
This policy folder has individual policy options for each of the following folders, which receive their own policy: &lt;br /&gt;
&lt;br /&gt;
* AppData/Roaming&lt;br /&gt;
* Contacts&lt;br /&gt;
* Desktop&lt;br /&gt;
* Documents&lt;br /&gt;
* Downloads&lt;br /&gt;
* Favorites&lt;br /&gt;
* Links&lt;br /&gt;
* Music&lt;br /&gt;
* Pictures&lt;br /&gt;
* Saved Games&lt;br /&gt;
* Searches&lt;br /&gt;
* Start Menu&lt;br /&gt;
&lt;br /&gt;
* Videos&lt;br /&gt;
&lt;br /&gt;
=== Share Permissions ===&lt;br /&gt;
It is important to ensure that the correct sharing permissions are met on the share that will host redirection. If not, several errors will occur and redirection will either not start, start and stop, or be inconsistent.&lt;br /&gt;
The share should have the following permissions:&lt;br /&gt;
[[File:Folder redireection share permissions.png|none|frame|Everyone: Full Control, Change, Read [Allow]]]&lt;br /&gt;
&lt;br /&gt;
=== Share Security ===&lt;br /&gt;
In addition, the security tab on the folder should have the following settings:&lt;br /&gt;
[[File:Folder redirection security.png|none|frame]]&lt;br /&gt;
Where Users, Administrators, the singular Administrator, and SYSTEM all have Full control over all files. In addition, confirm that inheritance is disabled, and if there are any inherited permissions, reset them.&lt;br /&gt;
&lt;br /&gt;
=== Offline Files ===&lt;br /&gt;
Offline Files is a feature that ensures that, if a host loses connection to the file server (say, during an update), there are local copies of the files onboard. It will automatically temporarily switch over to use those copies until the file server comes back online, then sync new changes to the file server. One can easily determine if Offline Files is enabled and working by whether or not they see this at the bottom of a File Explorer window:&lt;br /&gt;
[[File:Folder redirection offline files enabled.png|none|thumb|Offline Files is enabled and syncing]]&lt;br /&gt;
By default, Offline Files is enabled whenever Folder Redirection is enabled, but this does not apply to clients running Windows Server. Workstations running Windows 7, 10, 11 should automatically receive this. &lt;br /&gt;
&lt;br /&gt;
It can be enabled forcefully using GPO: https://learn.microsoft.com/en-us/windows-server/storage/folder-redirection/enable-always-offline&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
* The first step to setting up Folder Redirection on a domain is to create a Network Share on a server with sufficient storage. If you have a Domain Controller and a separate file server, the file server is the best place, but if you only have one server, acting as a DC, it&#039;ll work fine. Create a folder and go to Properties → Sharing and make sure that you add a dollar sign ($) to the end of the name. This ensures that the share is hidden and prevents both unwanted access and prevents clutter in the Network discovery tab. Under permissions, ensure that Everyone has Full Control, Read, and Change.&lt;br /&gt;
* In Active Directory Users and Computers, create an OU for Folder Redirection, where all users inside will have their selected folders synced. Folder Redirection is a &#039;&#039;&#039;user&#039;&#039;&#039; policy, not a computer policy. You&#039;re selecting the individual profiles. &lt;br /&gt;
* In Group Policy Management, right click the OU and select &#039;&#039;Create a GPO in this domain, and Link it here...&#039;&#039; &lt;br /&gt;
* Right click the new GPO and select &#039;&#039;Edit...&#039;&#039;&lt;br /&gt;
* Under the Editor, navigate to &#039;&#039;&#039;GPO → User Configuration → Policies → Windows System → Folder Redirection.&#039;&#039;&#039; For demonstration we&#039;ll use the Documents folder. &lt;br /&gt;
* Under &#039;&#039;&#039;Folder Redirection&#039;&#039;&#039; select &#039;&#039;&#039;Documents&#039;&#039;&#039; and select &#039;&#039;Properties&#039;&#039; from the right-click menu. &lt;br /&gt;
* Under Setting in the &#039;&#039;Documents Properties&#039;&#039; dialogue, choose &#039;&#039;Basic&#039;&#039; -  &#039;&#039;Redirect everyone&#039;s folder to the same location.&#039;&#039;&lt;br /&gt;
* This gives you the following two selections: &#039;&#039;Target folder location: Create a folder for each user under the root path&#039;&#039; &#039;&#039;Root Path: [empty string]&#039;&#039;&lt;br /&gt;
* Set the Root Path to the network path of the share you created previously. For instance, &#039;&#039;&#039;&#039;&#039;\\AD01\FolderRedirection$\&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* Underneath this, it will show you the hierarchy of the rest of the path, as such: &#039;&#039;For user Clair, this folder will be redirected to: &#039;&#039;&#039;\\AD01\FolderRedirection$\Clair\Documents&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* In the &#039;&#039;Settings&#039;&#039; tab, ensure that Policy Removal is set to &#039;&#039;&amp;quot;Redirect the folder back to the local userprofile location when policy is removed.&amp;quot;&#039;&#039; This ensures that if Folder Redirection has to be taken out of production, the files are available locally. &lt;br /&gt;
* If necessary, follow the steps to put an Always Offline GPO in place as seen above.&lt;br /&gt;
* Close the GPO editor &lt;br /&gt;
&lt;br /&gt;
Now that the GPO is created, wait for this to replicate to all ADs if there are several. Ensure that there are users in the redirection OU.&lt;br /&gt;
&lt;br /&gt;
Then, either wait for each machine to run a GPO update, or to get immediate results, open an Administrator Powershell on each workstation and run gpudate (with or without the /force flag).&lt;br /&gt;
&lt;br /&gt;
If all works, it will prompt a reboot. Allow this.&lt;br /&gt;
&lt;br /&gt;
On reboot, as the machine comes back up, after logging in, it should display a message that Folder Redirection is being applied. When this is done, there should be a green sync circle next to the default shortcut on this folder. If not, this means Offline Files is not enabled, but redirection itself might be.   &lt;br /&gt;
[[Category:Microsoft Guides]]&lt;/div&gt;</summary>
		<author><name>Rosemark</name></author>
	</entry>
</feed>