{"id":4798,"date":"2025-10-09T14:39:23","date_gmt":"2025-10-09T11:39:23","guid":{"rendered":"https:\/\/webembed.gr\/?p=4798"},"modified":"2026-01-07T12:49:20","modified_gmt":"2026-01-07T09:49:20","slug":"building-a-real-world-windows-server-lab-with-monitoring-security-part-2","status":"publish","type":"post","link":"https:\/\/webembed.gr\/el\/building-a-real-world-windows-server-lab-with-monitoring-security-part-2\/","title":{"rendered":"Building a Real-World Windows Server Lab with Monitoring &#038; Security (Part 2)"},"content":{"rendered":"<p data-start=\"145\" data-end=\"211\">Network Segmentation &amp; Routing Setup on Ubuntu Server<\/p>\n<p data-start=\"213\" data-end=\"364\"><strong data-start=\"213\" data-end=\"227\">Objective:<\/strong> Configure the Ubuntu server as a central router, providing connectivity between lab subnets while enforcing segmentation and security.<\/p>\n<p data-start=\"371\" data-end=\"418\"><strong data-start=\"376\" data-end=\"418\">Step 1 &#8211; Assign Interfaces and Subnets<\/strong><\/p>\n<ol data-start=\"420\" data-end=\"1346\">\n<li data-start=\"420\" data-end=\"720\">\n<p data-start=\"423\" data-end=\"504\">Open VirtualBox and make sure your Ubuntu VM has <strong data-start=\"472\" data-end=\"503\">at least 2 network adapters<\/strong>:<\/p>\n<ul data-start=\"508\" data-end=\"720\">\n<li data-start=\"508\" data-end=\"550\">\n<p data-start=\"510\" data-end=\"550\"><strong data-start=\"510\" data-end=\"524\">Adapter 1:<\/strong> NAT (for Internet access)<\/p>\n<\/li>\n<li data-start=\"554\" data-end=\"616\">\n<p data-start=\"556\" data-end=\"616\"><strong data-start=\"556\" data-end=\"570\">Adapter 2:<\/strong> Internal Network for lab VMs (e.g., <code data-start=\"607\" data-end=\"615\">LabNet<\/code>)<\/p>\n<\/li>\n<li data-start=\"620\" data-end=\"720\">\n<p data-start=\"622\" data-end=\"720\">Optional: Add more adapters if you want separate networks for <strong data-start=\"684\" data-end=\"698\">Monitoring<\/strong> and <strong data-start=\"703\" data-end=\"717\">Management<\/strong>.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li data-start=\"722\" data-end=\"962\">\n<p data-start=\"725\" data-end=\"761\">Assign static IPs to each interface:<\/p>\n<ul data-start=\"765\" data-end=\"962\">\n<li data-start=\"765\" data-end=\"962\">\n<p data-start=\"767\" data-end=\"775\">Example:<\/p>\n<ul data-start=\"781\" data-end=\"962\">\n<li data-start=\"781\" data-end=\"820\">\n<p data-start=\"783\" data-end=\"820\"><code data-start=\"783\" data-end=\"789\">eth0<\/code> (NAT\/Internet): 192.168.56.101<\/p>\n<\/li>\n<li data-start=\"826\" data-end=\"862\">\n<p data-start=\"828\" data-end=\"862\"><code data-start=\"828\" data-end=\"834\">eth1<\/code> (Lab Subnet): 10.10.10.1\/24<\/p>\n<\/li>\n<li data-start=\"868\" data-end=\"911\">\n<p data-start=\"870\" data-end=\"911\"><code data-start=\"870\" data-end=\"876\">eth2<\/code> (Management Subnet): 10.10.20.1\/24<\/p>\n<\/li>\n<li data-start=\"917\" data-end=\"962\">\n<p data-start=\"919\" data-end=\"962\"><code data-start=\"919\" data-end=\"925\">eth3<\/code> (Monitoring Subnet): 10.10.30.1\/24<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>Edit Netplan configuration (Ubuntu 24.04 uses Netplan):<div class=\"gdlr-core-code-item gdlr-core-item-pdb  gdlr-core-code-item-light\"  ><div class=\"gdlr-core-code-item-content gdlr-core-content-font gdlr-core-skin-e-background gdlr-core-skin-e-content gdlr-core-skin-border\"><p>network:<br \/>\nversion: 2<br \/>\nrenderer: networkd<br \/>\nethernets:<br \/>\neth0:<br \/>\ndhcp4: yes<br \/>\neth1:<br \/>\naddresses: [10.10.10.1\/24]<br \/>\neth2:<br \/>\naddresses: [10.10.20.1\/24]<br \/>\neth3:<br \/>\naddresses: [10.10.30.1\/24]<\/p>\n<\/div><\/div><\/li>\n<li><div class=\"gdlr-core-code-item gdlr-core-item-pdb  gdlr-core-code-item-light\"  ><div class=\"gdlr-core-code-item-content gdlr-core-content-font gdlr-core-skin-e-background gdlr-core-skin-e-content gdlr-core-skin-border\"><p>sudo netplan apply<\/p>\n<\/div><\/div><\/li>\n<\/ol>\n<p data-start=\"1353\" data-end=\"1391\"><strong data-start=\"1358\" data-end=\"1391\">Step 2 &#8211; Enable IP Forwarding<\/strong><\/p>\n<ol data-start=\"1393\" data-end=\"1601\">\n<li data-start=\"1393\" data-end=\"1470\">\n<p data-start=\"1396\" data-end=\"1422\">Edit sysctl configuration:<br \/>\n<div class=\"gdlr-core-code-item gdlr-core-item-pdb  gdlr-core-code-item-light\"  ><div class=\"gdlr-core-code-item-content gdlr-core-content-font gdlr-core-skin-e-background gdlr-core-skin-e-content gdlr-core-skin-border\"><p>sudo nano \/etc\/sysctl.conf<\/p>\n<\/div><\/div><\/p>\n<\/li>\n<li data-start=\"1393\" data-end=\"1470\">Uncomment or add the line:<br \/>\n<div class=\"gdlr-core-code-item gdlr-core-item-pdb  gdlr-core-code-item-light\"  ><div class=\"gdlr-core-code-item-content gdlr-core-content-font gdlr-core-skin-e-background gdlr-core-skin-e-content gdlr-core-skin-border\"><p>net.ipv4.ip_forward=1<\/p>\n<\/div><\/div><\/li>\n<li data-start=\"1393\" data-end=\"1470\">Apply immediately:<br \/>\n<div class=\"gdlr-core-code-item gdlr-core-item-pdb  gdlr-core-code-item-light\"  ><div class=\"gdlr-core-code-item-content gdlr-core-content-font gdlr-core-skin-e-background gdlr-core-skin-e-content gdlr-core-skin-border\"><p>sudo sysctl -p<\/p>\n<\/div><\/div><\/li>\n<\/ol>\n<p>This allows the Ubuntu server to route packets between subnets.<\/p>\n<p data-start=\"1673\" data-end=\"1715\"><strong data-start=\"1678\" data-end=\"1715\">Step 3 &#8211; Configure NAT (Optional)<\/strong><\/p>\n<p data-start=\"1717\" data-end=\"1749\">If lab VMs need Internet access:<\/p>\n<ol>\n<li data-start=\"1717\" data-end=\"1749\">Add a NAT rule with <code data-start=\"1774\" data-end=\"1784\">iptables<\/code>:<br \/>\n<div class=\"gdlr-core-code-item gdlr-core-item-pdb  gdlr-core-code-item-light\"  ><div class=\"gdlr-core-code-item-content gdlr-core-content-font gdlr-core-skin-e-background gdlr-core-skin-e-content gdlr-core-skin-border\"><p>sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE<br \/>\nsudo iptables -A FORWARD -i eth0 -o eth1 -m state &amp;#8211;state RELATED,ESTABLISHED -j ACCEPT<br \/>\nsudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT<\/p>\n<\/div><\/div><\/li>\n<li data-start=\"1717\" data-end=\"1749\">Save rules:<br \/>\n<div class=\"gdlr-core-code-item gdlr-core-item-pdb  gdlr-core-code-item-light\"  ><div class=\"gdlr-core-code-item-content gdlr-core-content-font gdlr-core-skin-e-background gdlr-core-skin-e-content gdlr-core-skin-border\"><p>sudo apt install iptables-persistent<br \/>\nsudo netfilter-persistent save<\/p>\n<\/div><\/div><\/li>\n<\/ol>\n<p><strong>Step 4 &#8211; Configure Firewall for Segmentation<br \/>\n<\/strong><\/p>\n<p>Install <code data-start=\"2189\" data-end=\"2194\">ufw<\/code> if not installed:<\/p>\n<ol>\n<li><div class=\"gdlr-core-code-item gdlr-core-item-pdb  gdlr-core-code-item-light\"  ><div class=\"gdlr-core-code-item-content gdlr-core-content-font gdlr-core-skin-e-background gdlr-core-skin-e-content gdlr-core-skin-border\"><p>sudo apt install ufw<br \/>\nsudo ufw enable<\/p>\n<\/div><\/div><\/li>\n<li>Set default rules:<br \/>\n<div class=\"gdlr-core-code-item gdlr-core-item-pdb  gdlr-core-code-item-light\"  ><div class=\"gdlr-core-code-item-content gdlr-core-content-font gdlr-core-skin-e-background gdlr-core-skin-e-content gdlr-core-skin-border\"><p>sudo ufw default deny incoming<br \/>\nsudo ufw default allow outgoing<\/p>\n<\/div><\/div><\/li>\n<li>\n<p data-start=\"2386\" data-end=\"2427\">Allow only required inter-subnet traffic:<\/p>\n<ul data-start=\"2431\" data-end=\"2655\">\n<li data-start=\"2431\" data-end=\"2615\">\n<p data-start=\"2433\" data-end=\"2481\">Example: allow management to access lab servers:<br \/>\n<div class=\"gdlr-core-code-item gdlr-core-item-pdb  gdlr-core-code-item-light\"  ><div class=\"gdlr-core-code-item-content gdlr-core-content-font gdlr-core-skin-e-background gdlr-core-skin-e-content gdlr-core-skin-border\"><p>sudo ufw allow from 10.10.20.0\/24 to 10.10.10.0\/24<br \/>\nsudo ufw allow from 10.10.30.0\/24 to 10.10.10.0\/24<\/p>\n<\/div><\/div><\/p>\n<\/li>\n<li data-start=\"2431\" data-end=\"2615\">Deny all other traffic by default.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p><strong>Step 5 &#8211; Configure Lab VMs<\/strong><\/p>\n<ol>\n<li data-start=\"2702\" data-end=\"2758\">Set static IPs for each VM within their subnet. Example:\n<ul data-start=\"2431\" data-end=\"2655\">\n<li data-start=\"2431\" data-end=\"2615\">\n<p data-start=\"2433\" data-end=\"2481\">Windows File Server (Lab subnet): 10.10.10.10\/24, Gateway: 10.10.10.1<\/p>\n<\/li>\n<li data-start=\"2431\" data-end=\"2615\">Windows Client (Management subnet): 10.10.20.10\/24, Gateway: 10.10.20.1<\/li>\n<\/ul>\n<\/li>\n<li data-start=\"2702\" data-end=\"2758\">Set Ubuntu router as the default gateway for each subnet.<\/li>\n<li data-start=\"2702\" data-end=\"2758\">Test connectivity:<br \/>\n<div class=\"gdlr-core-code-item gdlr-core-item-pdb  gdlr-core-code-item-light\"  ><div class=\"gdlr-core-code-item-content gdlr-core-content-font gdlr-core-skin-e-background gdlr-core-skin-e-content gdlr-core-skin-border\"><p>ping 10.10.10.1 # From a lab VM<br \/>\nping 10.10.20.1 # From management VM<\/p>\n<\/div><\/div><\/li>\n<\/ol>\n<p><strong>Step 6 &#8211; Optional: DHCP \/ DNS on Ubuntu<\/strong><\/p>\n<ol>\n<li>Install <code data-start=\"3164\" data-end=\"3181\">isc-dhcp-server<\/code>:<br \/>\n<div class=\"gdlr-core-code-item gdlr-core-item-pdb  gdlr-core-code-item-light\"  ><div class=\"gdlr-core-code-item-content gdlr-core-content-font gdlr-core-skin-e-background gdlr-core-skin-e-content gdlr-core-skin-border\"><p>sudo apt install isc-dhcp-server<\/p>\n<\/div><\/div><\/li>\n<li>Configure <code data-start=\"3250\" data-end=\"3272\">\/etc\/dhcp\/dhcpd.conf<\/code> to assign IPs to each subnet.<\/li>\n<li>Install <code data-start=\"3316\" data-end=\"3323\">bind9<\/code> if you want local DNS for lab hostnames.<\/li>\n<\/ol>\n<p data-start=\"3373\" data-end=\"3418\"><strong data-start=\"3378\" data-end=\"3418\">Step 7 &#8211; Verify Network Segmentation<\/strong><\/p>\n<ol data-start=\"3420\" data-end=\"3658\">\n<li data-start=\"3420\" data-end=\"3597\">\n<p data-start=\"3423\" data-end=\"3449\">Test ping between subnets:<\/p>\n<ul data-start=\"3453\" data-end=\"3597\">\n<li data-start=\"3453\" data-end=\"3497\">\n<p data-start=\"3455\" data-end=\"3497\">Lab \u2194 Management: Allowed if rules permit.<\/p>\n<\/li>\n<li data-start=\"3501\" data-end=\"3559\">\n<p data-start=\"3503\" data-end=\"3559\">Lab \u2194 Monitoring: Allowed only for logging\/monitoring.<\/p>\n<\/li>\n<li data-start=\"3563\" data-end=\"3597\">\n<p data-start=\"3565\" data-end=\"3597\">Lab \u2194 Internet: Allowed via NAT.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li data-start=\"3599\" data-end=\"3658\">\n<p data-start=\"3602\" data-end=\"3658\">Ensure unauthorized subnet traffic is blocked via <code data-start=\"3652\" data-end=\"3657\">ufw<\/code>.<\/p>\n<\/li>\n<\/ol>\n<p data-start=\"3665\" data-end=\"3680\"><strong data-start=\"3667\" data-end=\"3678\">Result:<\/strong><\/p>\n<ul data-start=\"3681\" data-end=\"3924\">\n<li data-start=\"3681\" data-end=\"3770\">\n<p data-start=\"3683\" data-end=\"3770\">Ubuntu server acts as a <strong data-start=\"3707\" data-end=\"3738\">central router and firewall<\/strong>, connecting multiple subnets.<\/p>\n<\/li>\n<li data-start=\"3771\" data-end=\"3859\">\n<p data-start=\"3773\" data-end=\"3859\">Segmentation ensures isolation between lab, monitoring, and management environments.<\/p>\n<\/li>\n<li data-start=\"3860\" data-end=\"3924\">\n<p data-start=\"3862\" data-end=\"3924\">Lab VMs can communicate only according to the defined rules<\/p>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Network Segmentation &amp; Routing Setup on Ubuntu Server Objective: Configure the Ubuntu server as a central router, providing connectivity between lab subnets while enforcing segmentation and security. Step 1 &#8211; Assign Interfaces and Subnets Open VirtualBox and make sure your Ubuntu VM has at least 2 network adapters: Adapter 1: NAT (for Internet access) Adapter [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":4816,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[77,1,78,74,3,4,76],"tags":[132,144,140,138,134,141,145,146,137,133,113,139,143,136,110,135,142,108,147,131],"class_list":["post-4798","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud-computing","category-cybersecurity","category-data-privacy-protection","category-digital-transformation","category-how-to-guides","category-tech-insights-trends","category-tech-driven-business-strategy","tag-active-directory","tag-case-study","tag-cybersecurity-lab","tag-endpoint-monitoring","tag-file-server","tag-it-infrastructure","tag-lab-environment","tag-monitoring-logging","tag-network-segmentation","tag-rds","tag-security-monitoring","tag-security-onion","tag-sysadmin-best-practices","tag-system-administration","tag-threat-detection","tag-virtual-lab","tag-virtualization","tag-wazuh","tag-windows-client-management","tag-windows-server-2025"],"_links":{"self":[{"href":"https:\/\/webembed.gr\/el\/wp-json\/wp\/v2\/posts\/4798","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webembed.gr\/el\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webembed.gr\/el\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webembed.gr\/el\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/webembed.gr\/el\/wp-json\/wp\/v2\/comments?post=4798"}],"version-history":[{"count":5,"href":"https:\/\/webembed.gr\/el\/wp-json\/wp\/v2\/posts\/4798\/revisions"}],"predecessor-version":[{"id":4883,"href":"https:\/\/webembed.gr\/el\/wp-json\/wp\/v2\/posts\/4798\/revisions\/4883"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/webembed.gr\/el\/wp-json\/wp\/v2\/media\/4816"}],"wp:attachment":[{"href":"https:\/\/webembed.gr\/el\/wp-json\/wp\/v2\/media?parent=4798"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webembed.gr\/el\/wp-json\/wp\/v2\/categories?post=4798"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webembed.gr\/el\/wp-json\/wp\/v2\/tags?post=4798"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}