<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Anthony E. Alvarez on Medium]]></title>
        <description><![CDATA[Stories by Anthony E. Alvarez on Medium]]></description>
        <link>https://medium.com/@aalvarez?source=rss-2132ad84f100------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/2*Wwg_trgR8-kg4O83hS_0AQ.jpeg</url>
            <title>Stories by Anthony E. Alvarez on Medium</title>
            <link>https://medium.com/@aalvarez?source=rss-2132ad84f100------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sat, 16 May 2026 10:20:58 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@aalvarez/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[2019 Year in Review]]></title>
            <link>https://medium.com/@aalvarez/2019-year-in-review-110a80e0fff9?source=rss-2132ad84f100------2</link>
            <guid isPermaLink="false">https://medium.com/p/110a80e0fff9</guid>
            <category><![CDATA[gtd]]></category>
            <category><![CDATA[getting-things-done]]></category>
            <category><![CDATA[todoist]]></category>
            <category><![CDATA[productivity]]></category>
            <category><![CDATA[email]]></category>
            <dc:creator><![CDATA[Anthony E. Alvarez]]></dc:creator>
            <pubDate>Thu, 05 Mar 2020 01:04:29 GMT</pubDate>
            <atom:updated>2020-03-05T01:04:29.905Z</atom:updated>
            <content:encoded><![CDATA[<p>Unfortunately most people are still using #email inbox for a combination of reference, trash, still cannot decide what to do with this, reminders of things to do and everything else. <a href="http://puchowebsolutions.com/2019-Year-in-Review">Sharing my expereince about cleaning my bloated email inbox using a To Do manager</a>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*564eidJCunuZMRd9iNCGtg.png" /></figure><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=110a80e0fff9" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[RADIUS Server Access Control]]></title>
            <link>https://medium.com/tech-jobs-academy/radius-server-access-control-12e6c9381183?source=rss-2132ad84f100------2</link>
            <guid isPermaLink="false">https://medium.com/p/12e6c9381183</guid>
            <category><![CDATA[microsoft]]></category>
            <category><![CDATA[ssh]]></category>
            <category><![CDATA[authentication]]></category>
            <dc:creator><![CDATA[Anthony E. Alvarez]]></dc:creator>
            <pubDate>Mon, 04 Apr 2016 07:02:17 GMT</pubDate>
            <atom:updated>2016-04-04T07:02:17.986Z</atom:updated>
            <content:encoded><![CDATA[<h4>for WiFi Hot Spots</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1000/0*m_ZV6Ctrj-uBTVcG.png" /><figcaption>Source: <a href="http://urbangyal.com/6-apps-every-woman-smart-phone/">urbangyal.com</a></figcaption></figure><p>This is a guide to RADIUS, <a href="http://www.wifi.keller.com/CNIT107HW7.html"><em>Remote Access Dial-In User Service</em></a>, how it can be used, and why you might want to use it to control access to a Local Area Network (LAN). A RADIUS server is a mechanism for regulating user access to a computer network. This article provides a high level overview of RADIUS on both Windows Server 2012 and FreeRADIUS, a popular open source alternative.</p><p>Let’s say you want to reward your best customers when they visit your cafe or restaurant. You decide to implement a member rewards program that includes free Wireless Network (WiFi) access. Many restaurants currently provide access to a WiFi hot spot using either a shared password or no password at all, but neither is a secure solution.</p><p>The RADIUS server checks the passwords entered by the users and grants or denies access as appropriate. It also keeps a record of network usage so that the restaurants’ management can see when and how much their networks are being used.</p><h4>The RADIUS Protocol</h4><p>RADIUS is actually a standardized protocol, not a program; it’s an interface, not an implementation. As with other Internet-related protocols, the standard is established by the <a href="http://www.ietf.org/">Internet Engineering Task Force (IETF)</a> and documented the following Request for Comments (RFC) specifications below:</p><ul><li><a href="http://tools.ietf.org/html/rfc2138">RFC 2138</a></li><li><a href="http://tools.ietf.org/html/rfc2865">RFC 2865</a> (the RADIUS authenticating and authorizing protocol)</li><li><a href="http://tools.ietf.org/html/rfc2866">RFC 2866</a> (the RADIUS accounting protocol)</li></ul><p>These documents are the ultimate authority on the RADIUS protocol.</p><p>RADIUS defines a standard “conversation” for the purposes of connecting a computer to a network. One side of the conversation is the server, the other is the client.</p><p>On the client side of the protocol are a variety of devices called network access servers<em> (NAS), </em>which is any type of equipment that directly accepts users’ connections. For example, in a WiFi network, the access point serves as the NAS. By contrast, in an ISP’s dial-up network, the NAS is the switch that connects the receiving modems to the computers providing the dialup services like e-mail and web browsing.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/900/0*Co6wAzmY6Lb-9_5C.jpg" /><figcaption>Source: <a href="http://leaderchat.org/2014/11/17/why-millennials-leave-organizations-and-what-senior-leaders-can-do-about-it/">leaderchat.org</a></figcaption></figure><p>One essential detail of the RADIUS specification is that it uses port 1812. Port numbers are part of the TCP/IP mechanism for connecting clients and servers on the Internet.</p><h4>RADIUS Benefits</h4><p><em>RADIUS </em>consists of computer user authentication, authorization, and accounting. RADIUS server performs a number of useful services. For example: Authentication, Authorization, and Accounting collectively called AAA.</p><p><strong>Authentication</strong> is the process of determining the identity of a user. The most common form of authentication is by user name and password. This is the form used at the restaurant. Other forms of authentication use digital certificates, digital signatures, etc.</p><p><strong>Authorization</strong> is the process of determining which service(s) a user is permitted to use and to what extent. It requires that the identity of the user be previously established by some authentication process. The authenticated user ID is then authorized by lookup in a file, table, database, or directory service such as LDAP such as Active Directory.</p><p><strong>Accounting</strong> is the process of keeping track of network usage. It records the date and time of the start of each user’s session, its duration and the number of bytes transferred.</p><p>RADIUS is based on an <a href="http://www.ieee.org">IEEE standard </a>for authenticated network access to wired Ethernet networks and wireless 802.11 networks. RADIUS enhances security and deployment by providing support for centralized user identification, authentication, dynamic key management, and accounting. Compared to using one password or no password at all, RADIUS offers a few advantages listed below.</p><ol><li>Enhanced security when implemented properly.</li><li>Enhanced reporting and tracking based on client usernames, even more so when tied into a Lightweight Directory Access Protocol (LDAP) back end such as Active Directory.</li><li>Ability to direct user groups into a User Profile based on <a href="https://en.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol">LDAP</a> membership and/or RADIUS attributes. This allows you to place restrictions on specific classes of users.</li><li>When a user authenticates to a service set identifier (SSID) using RADIUS, that individual session is encrypted uniquely between the user and access point. This means that another user connected to the same SSID cannot sniff the traffic and acquire information because they will have a different encryption key for their connection. With a <a href="https://en.wikipedia.org/wiki/Pre-shared_key">Pre-shared key (PSK) network</a>, every device connected to the access point is on a “shared encryption” connection so they can all see each other’s traffic if they choose to do so.</li><li>If you need to de-authorize a particular user or device, having RADIUS makes this much easier because you disconnect a single user or device without having to change the key for everyone or allow that potential security risk of that user re-joining the network with the known access key.</li><li>You can assign network permissions such as VLAN, firewall policy (including application permissions), <a href="https://technet.microsoft.com/en-us/library/cc757120(v=ws.10).aspx">Quality of Service </a>(QoS) settings, <a href="https://en.wikipedia.org/wiki/Tunneling_protocol">tunneling policies</a>, schedules — everything within a user profile can be dynamically assigned to users based on their identity. With a pre-shared key, you only get a single user profile that everyone shares. You can assign different permissions based on the attribute returned from the RADIUS server.</li></ol><figure><img alt="" src="https://cdn-images-1.medium.com/max/571/0*U69iXfa1IpihbD9z.gif" /><figcaption>Credit: Wikipedia.org</figcaption></figure><p>These are the fundamental elements of the RADIUS service.</p><h4>AAA Process</h4><p>In RADIUS, authentication and authorization are done by lookup in a database, and accounting is done by recording usage information there, too.</p><p>The sequence of events in the life-cycle of a RADIUS-mediated WiFi connection are as follows:</p><ol><li>An administrator provides commands to the RADIUS server to cause it to store the name and password of a user in its database.</li><li>A user with a laptop connects by WiFi to the access point and requests something such as a web page, a file transfer from a remote host, a connection to a POP (email) server, etc.</li><li>The access point challenges the laptop user for an ID and a password.</li><li>The access point contacts the RADIUS server across the Internet and asks it to authenticate the user.</li><li>The RADIUS finds the user and password in its database, bestows its blessing, and logs the start of a new session.</li><li>The access point proceeds to grant the laptop user the services he or she requests.</li><li>When the user session terminates (whether or not by the user’s choice) the access point informs the RADIUS server which logs the end of the session.</li></ol><figure><img alt="" src="https://cdn-images-1.medium.com/max/542/0*0sN83XYnElusRP8A.jpg" /><figcaption>Source <a href="https://www.qnap.com">qnap.com</a></figcaption></figure><h4>Windows Server NPS RADIUS</h4><p>For restaurant owners who already use Windows Server with domain networking, NPS role can be installed and used for free. In Windows Server 2012, RADIUS is implemented by installing a Network Policy Server (NPS) role. RADIUS is a major feature of NPS.</p><p><a href="http://www.networkworld.com/article/2160360/servers/low-cost-radius-servers-for-wi-fi-security.html">Microsoft’s Windows Server platform provides a RADIUS server</a>, an economical option for those already running (or planning to run) a Windows Server. Starting with Windows Server 2008, Microsoft provided the RADIUS service with its NPS role, whereas previously it was provided by the Internet Authentication Service (IAS) role. Like most other Windows Server roles, NPS configuration is GUI-based.</p><p>The RADIUS client can be defined by using a fully qualified domain name or an IP address, but groups of RADIUS clients can’t be defined by specifying an IP address range. The Enterprise and Datacenter editions allow an unlimited number of RADIUS clients and remote RADIUS server groups, and allow defining RADIUS clients via IP address ranges in addition to a domain name or single IP.</p><p>NPS supports the basic common authentication protocols: PEAP, EAP-TLS, PAP, SPAP, CHAP, MD5, MS-CHAP, MS-CHAPv2 and EAP-MD5. Additionally, Microsoft allows plug-ins of other vendors’ EAP methods on NPS. <a href="https://en.wikipedia.org/wiki/One-time_password">One-time password (OTP)</a> method is valid for only one login session or transaction, on a computer system or other digital device. OTPs avoid a number of shortcomings that are associated with traditional static password-based authentication; a number of implementations also incorporate two factor authentication by ensuring that the one-time password requires access to <em>something a person has, </em>such as a specific cellphone, as well as <em>something a person knows, </em>such as a <a href="https://en.wikipedia.org/wiki/Personal_identification_number">personal identification number (PIN)</a>.</p><p>On Windows Server, if authentication and authorization are successful, users are granted access to the network resources for which they have permissions to within the <a href="https://en.wikipedia.org/wiki/Active_Directory">Active Directory</a> database. In fact, NPS only uses Active Directory for the user name and password database. Windows Server can also proxy requests to multiple RADIUS servers for processing. For RADIUS accounting, Windows Server can write to a text file and/or Microsoft SQL Server database. In short, Windows server offers a robust and scalable solution with many advanced features, if you need them.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*I9uc_nqdlqdA4cKi.jpg" /><figcaption>Credit: Linksys</figcaption></figure><h4><strong>For those without Windows Server</strong></h4><p>The most widely used and popular open source alternative is called FreeRadius. It is is a free and open source RADIUS server released under the <a href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html">GNU General Public License Version 2 (GPLv2)</a>. Designed to run on Unix based operating systems, like Linux, it’s primarily a non-GUI server in which you adjust settings in configuration files and run the server via command line. It can serve the AAA needs of small networks with a few users or even service providers with millions of users. The installation is very simple and only takes a few minutes.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/255/0*mUEN7yuQgJ4r7cpS.png" /><figcaption>Source <a href="http://freeradius.org/">FreeRadius.org</a></figcaption></figure><p>There isn’t any published hardware requirement for FreeRADIUS, but generally any commodity PC can serve up to a few hundred thousand users. It can run on a variety of platforms in many different operating systems (OS), including Linux (CentOS, Debian, Mandriva, Red Hat, SUSE, Ubuntu), Solaris, and FreeBSD. Many OSs have FreeRADIUS binaries in their package repositories, making the installation simple, but they might not be updated with the latest release. In these cases you can build the packages yourself with the FreeRADIUS source code but this can be a challenge, especially for those less experienced with Unix/Linux.</p><h4>Summary</h4><p>Even though RADIUS was initially designed for dial up access, it is still useful today especially to control access to WiFi networks. There are versions of RADIUS for Windows Server as well as Open Source Alternatives. As RADIUS is a standardized, multi-platform protocol not a specific software. If you have questions or need more information about this topic, please leave your comments below. While you’re at it, why don’t you like and subscribe to this article if topics like this are of interest to you.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=12e6c9381183" width="1" height="1" alt=""><hr><p><a href="https://medium.com/tech-jobs-academy/radius-server-access-control-12e6c9381183">RADIUS Server Access Control</a> was originally published in <a href="https://medium.com/tech-jobs-academy">Tech Jobs Academy</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[DNS Forwarding and Conditional Forwarding]]></title>
            <link>https://medium.com/tech-jobs-academy/dns-forwarding-and-conditional-forwarding-f3118bc93984?source=rss-2132ad84f100------2</link>
            <guid isPermaLink="false">https://medium.com/p/f3118bc93984</guid>
            <category><![CDATA[microsoft]]></category>
            <category><![CDATA[domain-names]]></category>
            <category><![CDATA[dns]]></category>
            <dc:creator><![CDATA[Anthony E. Alvarez]]></dc:creator>
            <pubDate>Thu, 10 Mar 2016 21:53:04 GMT</pubDate>
            <atom:updated>2016-03-10T21:53:04.195Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/450/0*KNOfmhs1x_-c2v4U.jpg" /></figure><p>DNS Forwarding improves performance, load balances, and makes your network more resilient. It provides a way to pass on namespaces or resource records that are not contained in a local Domain Name System (DNS) server’s zone to remote DNS server for resolution of name queries both inside and outside a network.</p><p>There are two methods that we’ll discuss: forwarding and Conditional Forwarding. To understand the benefits of Conditional Forwarding, we must first understand how forwarding works.</p><h3>Forwarding</h3><p>In a simple example, a DNS forwarder sends name queries of external domains to a remote DNS servers outside of its local network for resolution. Internal name queries are handled by the Internal DNS server.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/492/0*r55AYG_Gn7PGdr4W.gif" /><figcaption>Source: <a href="https://technet.microsoft.com/en-us/library/cc782142(v=ws.10).aspx">https://technet.microsoft.com/en-us/library/cc782142(v=ws.10).aspx</a></figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/568/0*wnrMfCq8qYR6AFRn.JPG" /><figcaption>DNS client submits name query to a local DNS Server. Conditional Forwarding is not setup for requested Domain. The request is sent to Root Hints for resolution. Source Blogspot.com</figcaption></figure><p>If the DNS server has no forwarder listed for the name designated in the query, it can attempt to resolve the query using standard recursion using <a href="https://technet.microsoft.com/en-us/library/cc958982.aspx">root hints file</a>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*dGcwWSJwsRwAIFqH.jpg" /></figure><p>There are two types of DNS name queries: recursive and iterative. While both DNS forwarding and Conditional DNS Forwarding follows the general steps above, each is a little different.</p><p><strong>Recursive Name Query<br></strong>Forwarded queries are sent as a <a href="https://technet.microsoft.com/en-us/library/cc961401.aspx">recursive</a>. In this scenario, the DNS client requires that the DNS server respond to the client with either the requested resource record or an error message stating that the record or domain name does not exist. The DNS server cannot just refer the DNS client to a different DNS server.</p><p><strong>Iterative Name Query<br></strong>DNS client allows the DNS server to return the best answer it can give based on its cache or zone data.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/265/0*MjX4K8hGwsd3vML0.gif" /><figcaption>Recursive name queries are faster than Iterative name queries</figcaption></figure><p>A DNS server configured to use a forwarder will behave differently than a DNS server that is not configured to use a forwarder. Here’s how a DNS server works when using forwarding:</p><p>1.When the DNS server receives a name query, it attempts to resolve this query using its primary zones, secondary zones and finally its cache in that order.</p><p>2. If the name query cannot be resolved using its local zone data or cache, then it will forward the query to the DNS server designated as a forwarder. As a result, root hints method of name resolution will not be used.</p><p>3. The original DNS server that received the initial query will wait briefly for an answer from the forwarder. If that fails, it will attempt to contact the DNS servers specified in its root hints as a last resort.</p><p>Conditional forwarders allow you to improve name resolution between internal (private) DNS namespaces that are not part of the DNS namespace of the Internet, such as results from a company merger.</p><h3>Conditional forwarders</h3><p>Conditional forwarders are DNS servers that only forward queries for specific domain names. Instead of forwarding <em>all</em> queries it cannot resolve locally to a forwarder, a conditional forwarder is configured to forward a query to specific forwarders based on the domain name contained in the query. Forwarding according to domain names improves conventional forwarding by adding a name-based condition to the forwarding process.</p><p>Let’s walk through two examples where Conditional Forwarding really comes in handy. The first example is an internal name and the second is an external name resolution scenario.</p><h4>Example 1. Intranet name resolution</h4><p>When a DNS server configured with a conditional forwarder receives a query for a domain name, it will compare that domain name with its list of domain name conditions and use the longest domain name condition that corresponds to the domain name in the query. For example, in the figure below, the DNS server performs the following conditional forwarding logic to determine how a query for a domain name will be forwarded:</p><ol><li>The DNS server receives a query for networks.example.microsoft.com.</li><li>It compares that domain name with both microsoft.com and example.microsoft.com.</li><li>The DNS server determines that example.microsoft.com is the domain name that more closely matches the domain name query.</li><li>The DNS server forwards the query to the DNS server with the IP address 172.31.255.255, which is associated with example.microsoft.com.</li></ol><figure><img alt="" src="https://cdn-images-1.medium.com/max/509/0*KNO_DO0P5SbCIYCF.gif" /><figcaption>DNS client requests internal name query that are set up for Conditional DNS Forwarding. Source: <a href="https://technet.microsoft.com/en-us/library/cc757172%28v=ws.10%29.aspx">Technet</a></figcaption></figure><h4>Example 2: Internet name resolution</h4><p>DNS servers can use conditional forwarders to resolve queries between the DNS domain names of companies that share information. For example, two companies, Widgets Toys and TailspinToys, want to improve how the DNS clients of Widgets Toys resolve the names of the DNS clients of Tailspin Toys. The administrators from Tailspin Toys inform the administrators of Widgets Toys about the set of DNS servers in the Tailspin Toys network where Widgets can send queries for the domain dolls.tailspintoys.com. The DNS servers within the Widgets Toys network are configured to forward all queries for names ending with dolls.tailspintoys.com to the designated DNS servers in the network for Tailspin Toys. Consequently, the DNS servers in the Widgets Toys network do not need to query their internal root servers, or the Internet root servers, to resolve queries for names ending with dolls.tailspintoys.com.</p><p>The result is better performance, less network bandwidth, and happier end users because their name queries between different domains are resolved faster.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/591/0*sqXeIrsv3vigvTe-.png" /><figcaption>Local DNS server forward all name queries of external sites to remote DNS server.</figcaption></figure><h3>Conditional Forwarding Benefits</h3><p>Conditional Forwarding leads to a safer, faster, smarter and more reliable Internet. When a DNS server forwards a query to a forwarder, it sends a recursive query to the forwarder. This is different than the iterative name query that a DNS server will send to other DNS servers during standard name query resolution (name resolution that does not involve a forwarder).</p><p>By configuring the DNS servers in one internal namespace to forward queries to the authoritative DNS servers in a second internal namespace, conditional forwarders enable name resolution between the two namespaces without performing iterative name query on the DNS namespace of the Internet, which leads to better performance and utilization of DNS servers and reduced traffic on a Local Area Network (LAN) subnet.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/491/0*uuJrhJuSeJ6eZf0P.gif" /><figcaption>Source: <a href="https://technet.microsoft.com/en-us/library/cc757172(v=ws.10).aspx">https://technet.microsoft.com/en-us/library/cc757172(v=ws.10).aspx</a></figcaption></figure><p>A LAN is a computer network that interconnects computers within a limited area such as a residence, school, laboratory, or office building. A local area network is contrasted in principle to a wide area network (WAN), in which two or more LANs are connected and thus covers a larger geographic distance and may involve leased telecommunication circuits, while the media for LANs are locally managed.</p><p>When you designate a DNS server as a forwarder, you make that forwarder responsible for handling external traffic, thereby limiting DNS server exposure to the Internet. A forwarder will build up a large cache of external DNS information because all of the external DNS queries in the network are resolved through it. In a small amount of time, a forwarder will be able to resolve a good portion of external DNS queries using this cached data and thereby decrease the Internet traffic over the network and the response time for DNS clients. As a result, root hint usage is greatly reduced.</p><h3>Setting up a DNS Server Forwarder</h3><p>Instructions to setup a conditional DNS forwarder for external domain name resolution using Windows Server 2012 R2 are described below.</p><p>1. In the console tree, double-click the applicable DNS server. Expand <strong>DNS</strong>, and then double-click <strong>Applicable DNS server</strong>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1001/1*_C_krMDa9tOTqne0wwnDuw.png" /><figcaption>Windows 2012 r2 Server Manager &gt; Tools Menu &gt; DNS Manager</figcaption></figure><p>2. In the console tree, double-click the applicable DNS server. Expand <strong>DNS</strong>, and then double-click <strong>Applicable DNS server</strong>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/743/1*2M4uI1TpyB7ljm0VGP8c8g.png" /></figure><p>3. In the console tree, click <strong>Conditional Forwarders</strong>, and then on the <strong>Action</strong> menu, click <strong>New Conditional Forwarder</strong>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/736/1*-0tnUYhab-tTbWn9J8efLw.png" /><figcaption>From Action menu, choose New Conditional Forwarder</figcaption></figure><p>4. In <strong>DNS domain</strong>, type the fully qualified domain name (FQDN) of the domain for which you want to forward queries.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/545/1*oA6xubS_WU-V-75dck2sdg.png" /><figcaption>Add IP address of DNS and check Store this conditional forwarder in Active Directory</figcaption></figure><p>5. Click the <strong>IP addresses of the master servers</strong> list, type the IP address of the server to which you want to forward queries for the specified DNS domain, and then press <strong>Enter</strong>.</p><p>6. Click check box “<strong>Store this conditional forwarder in Active Directory</strong>,” and replicate it.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/670/1*zpYFIg6In8Ac5eqF0Q9hew.png" /><figcaption>Now all DNS query requests for Contoso.com will be resolved at 131.107.1.2.</figcaption></figure><h3>Summary</h3><p>The DNS protocol is an important part of the web’s infrastructure, serving as the Internet’s phone book: every time you visit a website, your computer performs a DNS lookup. Complex pages often require multiple DNS lookups before they start loading, so your computer may be performing hundreds of lookups a day. DNS Conditional Forwarding can provide higher performance and security.</p><p>Even if you do not have access to Windows Server or the ability to run a local DNS server, you can still experiment with DNS forwarding using a <a href="https://developers.google.com/speed/public-dns/">Google Public DNS</a> or <a href="https://www.opendns.com/">Cisco’s OpenDNS</a>. Both are free options that allow you to experiment with DNS forwarding. In both cases, all your DNS traffic will be forwarded to them and not your Internet Service Provider (ISP). Benefits are increased performance and security from phishing, malware, botnets, and targeted online attacks. In both cases, your traffic will probably be tracked and profiled, so buyer beware. At the very least, these services help you understand how DNS Forwarding works in real life.</p><p>While setup of DNS Forwarding in Windows Server is elaborate, on a normal Windows computer, however, it only takes one screen to configure.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/403/0*2S9ulvHmSHrBeGl5.png" /><figcaption>Google Public DNS IP Address are 8.8.8.8 and 8.8.4.4</figcaption></figure><h4>Instructions</h4><ol><li>Open <strong>Control Panel</strong></li><li>Open <strong>Network and Internet</strong></li><li>Open <strong>Network and Sharing Center</strong></li><li>Click <strong>Change Adapter Setting</strong></li><li>View Properties sheet of <strong>Active Network Connection</strong></li><li>View Properties sheet for <strong>Internet Protocol Version 4</strong></li></ol><figure><img alt="" src="https://cdn-images-1.medium.com/max/313/0*g5ftlkYLiNq4pu7E.png" /><figcaption><a href="https://www.opendns.com/home-internet-security/">OpenDNS.com</a></figcaption></figure><p>To use OpenDNS instead of Google Public DNS, where it says “<strong><em>Preferred DNS Server</em></strong>” and “<strong><em>Alternate DNS server</em></strong>”, use IP OpenDNS’s IP address.</p><p>For OpenDNS, the IP addresses are always:</p><ul><li>208.67.222.222</li><li>208.67.220.220</li></ul><p>If you have questions or need more information about Conditional DNS Forwarding, please leave your comments below. While you’re at it, why don’t you like, comment, and subscribe to this article if topics like this are of interest to you.</p><p>Thank you <a href="https://twitter.com/saronyitbarek">Saron Yitbarek</a> for editing this article.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=f3118bc93984" width="1" height="1" alt=""><hr><p><a href="https://medium.com/tech-jobs-academy/dns-forwarding-and-conditional-forwarding-f3118bc93984">DNS Forwarding and Conditional Forwarding</a> was originally published in <a href="https://medium.com/tech-jobs-academy">Tech Jobs Academy</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Powershell Computing]]></title>
            <link>https://medium.com/tech-jobs-academy/powershell-computing-cd3ae01793fd?source=rss-2132ad84f100------2</link>
            <guid isPermaLink="false">https://medium.com/p/cd3ae01793fd</guid>
            <category><![CDATA[sysadmin]]></category>
            <category><![CDATA[microsoft]]></category>
            <category><![CDATA[linux]]></category>
            <dc:creator><![CDATA[Anthony E. Alvarez]]></dc:creator>
            <pubDate>Thu, 25 Feb 2016 21:12:11 GMT</pubDate>
            <atom:updated>2016-02-25T21:12:14.101Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/670/1*5xZG6DQp4EXpfO-W9jqaTQ.png" /><figcaption>Whenever you reach for command prompt, stop yourself and use PowerShell instead. Try it, you’ll like it.</figcaption></figure><p>This is a getting started guide to PowerShell, how to start using it, and what features you can readily use in your daily IT work.</p><p>PowerShell is a command line interface (CLI) tool used to control a Windows PC. It is designed to help system administrators automate repetitive tasks they regularly perform.</p><h4>How to Setup PowerShell</h4><p>The latest version of the product is 4.0. It is a <a href="https://www.microsoft.com/en-us/download/details.aspx?id=40855"><strong>free download from Microsoft</strong></a>. It works on Windows 7 and above.</p><h4>Start using PowerShell now</h4><p>To get started quickly, just forget about using the normal Windows command prompt (C:\&gt;) and start using PowerShell prompt instead (<strong>PS C:\&gt;</strong>). PowerShell provides everything command shell gave you plus easy-to-use commands that will help you automate tasks and work more efficiently.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/667/1*9teZvEQzndUIHhtYWjQgbA.gif" /><figcaption>Use Get-Credentials to authenticate scripts. Its more elegant than putting passwords into scripts</figcaption></figure><h4>Using PowerShell</h4><p>For Windows 8 and above users: push <strong><em>Windows Key</em></strong> to get to desktop. Start typing the word “<em>PowerShell</em>” which will automatically open start menu to launch the program. For Windows 7 users, go to the start button and in the search input area, type “<em>PowerShell</em>” to find the PowerShell icon in the start menu.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/640/1*KxKElMqV-jKEtPZqfQIgMA.jpeg" /><figcaption>This is your start button.</figcaption></figure><h4>Alias commands</h4><p>In order to speed up adoption, PowerShell includes aliases for those already familiar with MS-DOS, UNIX, and Windows native commands. Aliases in PowerShell are shortcuts to real PowerShell Cmdlets; pronounced as <em>“Command-lets” </em>and rhymes with <a href="https://docs.oracle.com/javase/tutorial/deployment/applet/">(Java) Applets</a>.</p><h4>Unix aliases in PowerShell</h4><p>Below are popular UNIX commands that are already implemented PowerShell as aliases.</p><pre>PS C:\&gt; <strong>ps</strong> <br>PS C:\&gt; <strong>ls</strong><br>PS C:\&gt; <strong>chdir</strong><br>PS C:\&gt; <strong>cp</strong><br>PS C:\&gt; <strong>kill </strong><br>PS C:\&gt; <strong>grep<br></strong>PS C:\&gt; <strong>mv<br></strong>PS C:\&gt; <strong>mkdir</strong><br>PS C:\&gt; <strong>man</strong><br>PS C:\&gt; <strong>cls</strong></pre><h4>Windows Native Commands aliases in PowerShell</h4><p>Below are major Windows Native command shell programs that also work in PowerShell.</p><pre>PS C:\&gt; <strong>notepad</strong><br>PS C:\&gt; <strong>calc</strong><br>PS C:\&gt; <strong>explorer</strong><br>PS C:\&gt; <strong>ipconfig</strong><br>PS C:\&gt; <strong>nslookup</strong><br>PS C:\&gt; <strong>ping</strong><br>PS C:\&gt; <strong>cls</strong><br>PS C:\&gt; <strong>cd</strong><br>PS C:\&gt; <strong>ren</strong><br>PS C:\&gt; <strong>rm</strong><br>PS C:\&gt; <strong>dir</strong><br>PS C:\&gt; <strong>tasklist</strong><br>PS C:\&gt; <strong>taskkill</strong><br>PS C:\&gt; <strong>mspaint</strong></pre><p><strong>Get-Alias</strong> provides a list of current PowerShell Aliases. In fact, <em>Get-Alias g*</em> command provides a list of current PowerShell Aliases that start with the letter “g.” In addition, “<em>gal</em>” is a alias for “<em>Get-Alias</em>.”</p><pre>PS C:\&gt; <strong>Get-Alias</strong><br>PS C:\&gt; <strong>Get-Alias g*</strong></pre><pre>PS C:\&gt; <strong>gal *sv</strong><br>PS C:\&gt; <strong>gal st*</strong><br>PS C:\&gt; <strong>gal spsv</strong></pre><p>As in all CLI environments, the asterisk (*) means <em>everything</em> and is one of the most commonly used symbols used in <a href="http://www.regexbuddy.com/regex.html">regular expressions</a>.</p><h4>Automate repetitive task using Cmdlets</h4><p>Love Unix or hate it, PowerShell borrows many ideas from Unix, especially the composition model of scripting. That is, PowerShell scripts should be very small and the script author should leverage the PowerShell “engine” and avoid writing full-blown programs. In order to create complex routines, the <a href="http://www.computerperformance.co.uk/powershell/powershell_pipeline.htm">pipe character (“|”)</a> is used extensively, as in Unix, to perform larger tasks by chaining commands together and thus creating complicated functions. In this programming model, the output from the first command becomes the input of the next command and so on.</p><p>Compared to Windows, Unix is a document oriented operating system (OS), because a lot of the routine management and administration is done by editing text files. Windows simply cannot be managed in the same manner as Unix, the management style is completely different. Unix tools like <a href="https://www.gnu.org/software/bash/">bash</a>, <a href="http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_04_02.html">grep</a>, <a href="https://en.wikipedia.org/wiki/AWK">awk,</a> and <a href="https://www.gnu.org/software/sed/">sed</a> are used for text manipulation in Windows, while in Unix they are used as management tools for the OS.</p><p>On Unix, most config information comes from text files, and text files are ridiculously easy to edit. By contrast, Windows is built around an enormous set of disparate <a href="https://en.wikipedia.org/wiki/Application_programming_interface"><strong>Application Programming Interfaces (APIs)</strong></a><strong>.</strong> To get CLI commands to work on Windows is not only harder, but it’s essentially a never-ending task. And prior to PowerShell, you basically had to use a <a href="http://www.webopedia.com/TERM/G/Graphical_User_Interface_GUI.html">Graphical User Interface (GUI)</a> to manage Window objects like the <a href="http://pcsupport.about.com/od/termsr/p/registrywindows.htm">registry</a>, <a href="https://msdn.microsoft.com/en-us/library/windows/desktop/aa384642(v=vs.85).aspx">WMI</a>, or <a href="https://msdn.microsoft.com/en-us/library/windows/desktop/aa746492(v=vs.85).aspx">Active Directory</a>. Because Windows is an API oriented OS, traditional Unix configuration management tools just do not work well on Windows.</p><h4>Example PowerShell Commands</h4><pre>Get-WindowsFeature<br>Install-WindowsFeature<br>Enable-ADAccount<br>Test-NetConnection<br>New-NetRoute<br>Restart-Service<br>Stop-Service<br>Start-Service</pre><p>PowerShell follows a simple model of composition using familiar verb-noun grammar and a well defined set of parameters.</p><p>This allows for regularity that allows a systems administrators to automate repetitive and error-prone operations. It’s an extensible schema that most people can pickup quickly. Due to PowerShell’s similarity with natural language grammar, even non-programmers can get the gist of Powershell.</p><pre>PS C:\&gt; <strong>help</strong><br>PS C:\&gt; <strong>man</strong><br>PS C:\&gt; <strong>Get-Help</strong></pre><p>For help, <a href="http://Powershell.org"><strong>Powershell.org</strong></a> is a community-based website intended to be a central starting point for entry into this field. The website coordinates a number of services and events that help foster community engagement, and provide a platform for members of the community who want to contribute to the common base of knowledge and expertise with PowerShell.</p><p>To log bug reports and/or submit suggestions for PowerShell, use the <a href="http://connect.microsoft.com/PowerShell"><strong>Microsoft Connect website</strong></a>.</p><h4>Summary</h4><p>In my opinion, PowerShell and the push for “<em>Desired State configuration (DSC)</em>” is part of a larger ecosystem called “IT server automation software.” It shares this marketplace with offerings from <a href="https://puppetlabs.com/puppet/what-is-puppet">Puppet</a>, <a href="https://www.chef.io/chef/">Chef</a>, and <a href="https://www.docker.com/">Docker</a>. In a world of virtualized servers, disks and storage spaces, PowerShell is a key piece in Microsoft’s <a href="https://www.microsoft.com/en-us/download/details.aspx?id=40855">Windows Management Framework.</a></p><p>Getting started using PowerShell is simple. Whenever you open Windows command prompt, stop yourself, take a deep breath and use PowerShell (<strong>PS C:\&gt;</strong>) instead because it offers all the features of command prompt and much more. It’s the future.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FqmktHYL-mBE%3Ffeature%3Doembed&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DqmktHYL-mBE&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FqmktHYL-mBE%2Fhqdefault.jpg&amp;key=d04bfffea46d4aeda930ec88cc64b87c&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/d11d9fa370eebc22913b6b74426656ea/href">https://medium.com/media/d11d9fa370eebc22913b6b74426656ea/href</a></iframe><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=cd3ae01793fd" width="1" height="1" alt=""><hr><p><a href="https://medium.com/tech-jobs-academy/powershell-computing-cd3ae01793fd">Powershell Computing</a> was originally published in <a href="https://medium.com/tech-jobs-academy">Tech Jobs Academy</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>