<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Posts on </title>
    <link>https://wassimaouadi.com/posts/</link>
    <description>Recent content in Posts on </description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Mon, 19 Oct 2026 11:31:13 +0200</lastBuildDate>
    <atom:link href="https://wassimaouadi.com/posts/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Time and Date Concepts and Configuration</title>
      <link>https://wassimaouadi.com/posts/datetimentp/</link>
      <pubDate>Mon, 19 Oct 2026 11:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/datetimentp/</guid>
      <description>&lt;h1 id=&#34;relevant-terminology&#34;&gt;relevant terminology&lt;/h1&gt;&#xA;&lt;h2 id=&#34;ntp-internet-server&#34;&gt;NTP internet server &lt;/h2&gt;&#xA;&lt;p&gt;Public time servers that can be used as time sources by anyone.&lt;/p&gt;&#xA;&lt;h2 id=&#34;ntp-server&#34;&gt;NTP server &lt;/h2&gt;&#xA;&lt;p&gt;== the server that provides time to the enterprise NTP clients &#xA;usually connects to an internet time server &lt;/p&gt;&#xA;&lt;h2 id=&#34;ntp-peer&#34;&gt;NTP peer &lt;/h2&gt;&#xA;&lt;p&gt;An NTP node that receives time from an NTP server &#xA;When it loses its connection to the NTP server, it requests time from the other available NTP peer(s). &lt;/p&gt;</description>
    </item>
    <item>
      <title>Firewalls</title>
      <link>https://wassimaouadi.com/posts/firewalls/</link>
      <pubDate>Thu, 30 Jul 2026 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/firewalls/</guid>
      <description>&lt;h1 id=&#34;firewall-integration-in-cisco-aci&#34;&gt;firewall integration in Cisco ACI&lt;/h1&gt;&#xA;&lt;p&gt;(do a blog search for &amp;ldquo;service_insertion&amp;rdquo;)&lt;/p&gt;&#xA;&lt;h1 id=&#34;firewalls-in-linux&#34;&gt;firewalls in Linux&lt;/h1&gt;&#xA;&lt;p&gt;The default host-based firewall in RHEL allows all outgoing connections and blocks all incoming ones, except those explicitely permitted.&lt;/p&gt;&#xA;&lt;p&gt;The firewall daemon is called &lt;em&gt;firewalld&lt;/em&gt;. To interact with it, use the &lt;code&gt;firewall-cmd&lt;/code&gt; tool. The &lt;em&gt;firewalld&lt;/em&gt; daemon translates the instructions of &lt;code&gt;firewall-cmd&lt;/code&gt; into policies that use the syntax of the kernel&amp;rsquo;s &lt;em&gt;netfilter&lt;/em&gt; and &lt;em&gt;nftables&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;firewall-rules&#34;&gt;firewall rules&lt;/h2&gt;&#xA;&lt;p&gt;A rule dictates that a service is allowed to be accessed by an inbound connection. A &lt;em&gt;firewalld&lt;/em&gt; service is added with &lt;code&gt;firewall-cmd --add-service&lt;/code&gt; or removed with &lt;code&gt;firewall-cmd --remove-service&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Domain Name Resolution</title>
      <link>https://wassimaouadi.com/posts/nameresolution/</link>
      <pubDate>Wed, 29 Jul 2026 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/nameresolution/</guid>
      <description>&lt;h1 id=&#34;name-resolution-in-linux&#34;&gt;name resolution in Linux&lt;/h1&gt;&#xA;&lt;p&gt;Name resolution in Linux is a pipeline of verification jobs, not a single file: a process consults the Name Service Switch, which has a configuration file at &lt;em&gt;/etc/nsswitchconf&lt;/em&gt;. This file contains a list of entries. Each entry describes a database and the list of sources to refer to in the order of their appearance in the entry.&lt;/p&gt;&#xA;&lt;p&gt;An entry is written in this format: &lt;strong&gt;&lt;em&gt;DatabaseName NameService1 [Status=Action] NameService2&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>SELinux</title>
      <link>https://wassimaouadi.com/posts/linuxselinux/</link>
      <pubDate>Tue, 28 Jul 2026 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/linuxselinux/</guid>
      <description>&lt;p&gt;SELinux is an implementation of the Mandatory Access Control security model in the Linux kernel. It bears more weight than the Discretionary Access Control security model, implemented as the Unix-based file permissions (ugo, rwx); To illustrate the power of SELinux, a Linux user, even the &lt;em&gt;root&lt;/em&gt; account, gets denied access to his own files if the result of the SELinux authorization chain is a deny.&lt;/p&gt;&#xA;&lt;p&gt;SELinux assigns a context (aka label) to every Linux user, process, file, directory, port, socket, hardware device, etc. These are considered as either subjects (Linux users and processes) or objects (files, directories, ports, &amp;hellip;).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Deploying RHCSA home labs</title>
      <link>https://wassimaouadi.com/posts/linuxdeployrhcsalab/</link>
      <pubDate>Mon, 27 Jul 2026 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/linuxdeployrhcsalab/</guid>
      <description>&lt;h1 id=&#34;rhel-vms-guests-on-a-rocky-linux-host-with-kvm&#34;&gt;RHEL VMs guests on a Rocky Linux host with kvm&lt;/h1&gt;&#xA;&lt;p&gt;#TBC&lt;/p&gt;&#xA;&lt;h1 id=&#34;rhel-vm-guests-on-a-windows-host-with-virtualbox&#34;&gt;RHEL VM guests on a Windows host with VirtualBox&lt;/h1&gt;&#xA;&lt;p&gt;Target is to build two RHEL VMs on in Virtualbox on a Windows machine.&lt;/p&gt;&#xA;&lt;p&gt;Virtualbox must always be executed as administrator.&lt;/p&gt;&#xA;&lt;p&gt;The installation of the extension pack might fail many times. What worked for me is patience and repetition, until I saw the green tick in the menu.&lt;/p&gt;&#xA;&lt;p&gt;Shared clipboard and shared folder features will not work even if you activate them from the Virtualbox menu. What helped is to mount the VboxGuestAdditions.iso file from the GUI, check it in the shell terminal with &lt;code&gt;lsblk&lt;/code&gt;, register the VM to Red Hat CDN with &lt;code&gt;sudo subscription-manager register&lt;/code&gt; and provide my registration account details, reboot the machine, issue a &lt;code&gt;dnf repolist&lt;/code&gt; to refresh the DNF repos, install the kernel headers with &lt;code&gt;dnf install kernel-devel-$(uname -r)&lt;/code&gt; and reboot the VM again.&lt;/p&gt;</description>
    </item>
    <item>
      <title>mounting and unmounting network filesystems in Linux</title>
      <link>https://wassimaouadi.com/posts/linuxnetworkfilesystems/</link>
      <pubDate>Sun, 26 Jul 2026 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/linuxnetworkfilesystems/</guid>
      <description>&lt;h1 id=&#34;definitions&#34;&gt;definitions&lt;/h1&gt;&#xA;&lt;p&gt;NFS is one of the network filesystems available on Linux. An NFS server has the NFS service installed and enabled. It hosts the mounted filesystem that shall be made available to remote systems. This action is called &lt;em&gt;export&lt;/em&gt; and involves these files:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;em&gt;/etc/exports&lt;/em&gt;: where I configure the mounted filesystems that need to be remotely available to the defined machines,&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;/var/lib/nfs/etab&lt;/em&gt;: is called the master export table. It is populated as soon as an entry, in a correct format, is recorded in the &lt;em&gt;/etc/exports&lt;/em&gt; file and &lt;code&gt;exportnfs -a&lt;/code&gt; is run. The &lt;code&gt;exportnfs -a&lt;/code&gt; command reads the entries of &lt;em&gt;/etc/exports&lt;/em&gt; to do its job. I am simplifying these steps with the expression &lt;em&gt;create an NFS share&lt;/em&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;establish-a-nfs-export&#34;&gt;establish a NFS export&lt;/h1&gt;&#xA;&lt;p&gt;Here is my lab topology: rhel10-vm1 (192.168.122.216): NFS server &amp;lt;&amp;mdash;&amp;gt; rhel10-vm2 (192.168.122.6): NFS client.&lt;/p&gt;</description>
    </item>
    <item>
      <title>local filesysytems and swap in Linux</title>
      <link>https://wassimaouadi.com/posts/linuxlocalfilesystemsswap/</link>
      <pubDate>Sat, 25 Jul 2026 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/linuxlocalfilesystemsswap/</guid>
      <description>&lt;h1 id=&#34;filesystem-concepts&#34;&gt;filesystem concepts&lt;/h1&gt;&#xA;&lt;p&gt;A filesystem (aka filesystem) is the software structure (the formatting) that is located on a storage device or in memory, and dictates how data is organized there.&lt;/p&gt;&#xA;&lt;p&gt;When a filesystem is located on a storage device, like a disk or DVDROM, then it is called a physical filesystem. When it is located in memory, like for example when the Linux kernel loads the &lt;em&gt;proc&lt;/em&gt; filesystem in RAM, then it is called a virtual filesystem.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Packet capture</title>
      <link>https://wassimaouadi.com/posts/packetcapture/</link>
      <pubDate>Fri, 24 Jul 2026 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/packetcapture/</guid>
      <description>&lt;h1 id=&#34;packet-capture-on-junos-operational-mode&#34;&gt;packet capture on Junos operational mode&lt;/h1&gt;&#xA;&lt;p&gt;Packet capture in real time on an interface is performed with the &lt;code&gt;monitor&lt;/code&gt; command:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;lab@vSRX&amp;gt; monitor traffic interface fxp0 ?&#xA;Possible completions:&#xA;  &amp;lt;[Enter]&amp;gt;            Execute this command&#xA;  absolute-sequence    Display absolute TCP sequence numbers&#xA;  brief                Display brief output&#xA;  count                Number of packets to receive (0..1000000 packets)&#xA;  detail               Display detailed output&#xA;  extensive            Display extensive output&#xA;  layer2-headers       Display link-level header on each dump line&#xA;  matching             Expression for headers of receive packets to match&#xA;  no-domain-names      Don&amp;#39;t display domain portion of hostnames&#xA;  no-promiscuous       Don&amp;#39;t put interface into promiscuous mode&#xA;  no-resolve           Don&amp;#39;t attempt to print addresses symbolically&#xA;  no-timestamp         Don&amp;#39;t print timestamp on each dump line&#xA;  print-ascii          Display packets in ASCII when displaying in hexadecimal format&#xA;  print-hex            Display packets in hexadecimal format&#xA;  read-file            Read packets from a given file&#xA;  resolve-timeout      Period of time to wait for each name resolution (seconds)&#xA;  size                 Amount of each packet to receive (bytes)&#xA;  write-file           Write packets to specified file&#xA;  |                    Pipe through a command&#xA;lab@vSRX&amp;gt; monitor traffic interface fxp0 write-file capture01.pcap &#xA;Address resolution is ON. Use &amp;lt;no-resolve&amp;gt; to avoid any reverse lookup delay.&#xA;Address resolution timeout is 4s.&#xA;Listening on fxp0, capture size 96 bytes&#xA;&#xA;^C&#xA;297 packets received by filter&#xA;0 packets dropped by kernel&#xA;&#xA;lab@vSRX&amp;gt;&#xA;&#xA;lab@vSRX&amp;gt; file list &#xA;&#xA;/var/home/lab/:&#xA;.lesshst&#xA;.ssh/&#xA;capture01.pcap&#xA;jt /&#xA;&#xA;lab@vSRX&amp;gt; &#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Then I open the freeBSD CLI and open the pcap file using &lt;code&gt;tcpdump&lt;/code&gt;:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Linux Storage Concepts</title>
      <link>https://wassimaouadi.com/posts/linuxstorageconcepts/</link>
      <pubDate>Thu, 23 Jul 2026 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/linuxstorageconcepts/</guid>
      <description>&lt;h1 id=&#34;units-of-measurement-in-storage&#34;&gt;units of measurement in storage&lt;/h1&gt;&#xA;&lt;p&gt;When referring to storage capacities, there are two units of measurements:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;the multiples of 1024, where capacities are written using the IEC notation:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;1 kiB = 1 K, one kibibyte&lt;/li&gt;&#xA;&lt;li&gt;1 MiB = 1 M, one mebibyte&lt;/li&gt;&#xA;&lt;li&gt;1 GiB = 1 G, one gibibyte&lt;/li&gt;&#xA;&lt;li&gt;1 TiB = 1 T, one tebibyte&lt;/li&gt;&#xA;&lt;li&gt;etc.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;the multiples of 1000, which is also used in IT networking for communication speed, throughput or bandwidth. In this case, capacity values are written using this notation:&lt;/li&gt;&#xA;&lt;li&gt;1 kB: one kilobyte&lt;/li&gt;&#xA;&lt;li&gt;1 MB: one megabyte&lt;/li&gt;&#xA;&lt;li&gt;1 GB: one gigabyte&lt;/li&gt;&#xA;&lt;li&gt;1 TB: one terabyte&lt;/li&gt;&#xA;&lt;li&gt;etc.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Commands that use units of 1024 bytes: &lt;code&gt;fdisk&lt;/code&gt;, &lt;code&gt;lsblk&lt;/code&gt;, &lt;code&gt;sfdisk&lt;/code&gt;, etc.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Linux Tuning Profiles</title>
      <link>https://wassimaouadi.com/posts/linuxtuningprofiles/</link>
      <pubDate>Wed, 22 Jul 2026 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/linuxtuningprofiles/</guid>
      <description>&lt;h1 id=&#34;preprovisioned-tuning-profiles&#34;&gt;Preprovisioned tuning profiles&lt;/h1&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;user1@rhel10-vm2:~$ ls /usr/lib/tuned/profiles&#xA;accelerator-performance  balanced          desktop      intel-sst            network-latency     optimize-serial-console  throughput-performance  virtual-host&#xA;aws                      balanced-battery  hpc-compute  latency-performance  network-throughput  powersave                virtual-guest&#xA;user1@rhel10-vm2:~$&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h1 id=&#34;verify-and-change-tuning-profiles&#34;&gt;Verify and change tuning profiles&lt;/h1&gt;&#xA;&lt;p&gt;Verify that the tuned service is installed with &lt;a href=&#34;https://wassimaouadi.com/technotes/linuxdnfpkgmgmt/&#34;&gt;DNF&lt;/a&gt;:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;user1@rhel10-vm2:~$ dnf list --installed | grep tuned&#xA;tuned.noarch                                   2.25.1-2.el10_0                @rhel-10-for-x86_64-baseos-rpms   &#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Verify the status of the service with &lt;a href=&#34;https://wassimaouadi.com/technotes/linuxunits/&#34;&gt;systemctl&lt;/a&gt;:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;user1@rhel10-vm2:~$ systemctl status tuned&#xA;● tuned.service - Dynamic System Tuning Daemon&#xA;     Loaded: loaded (/usr/lib/systemd/system/tuned.service; enabled; preset: enabled)&#xA;     Active: active (running) since Fri 2026-08-21 19:29:51 CEST; 1h 15min ago&#xA; Invocation: fa8cec68b5b449ee9d4f13e2ef0a4618&#xA;       Docs: man:tuned(8)&#xA;             man:tuned.conf(5)&#xA;             man:tuned-adm(8)&#xA;   Main PID: 936 (tuned)&#xA;      Tasks: 4 (limit: 10680)&#xA;     Memory: 17.7M (peak: 19.7M)&#xA;        CPU: 952ms&#xA;     CGroup: /system.slice/tuned.service&#xA;             └─936 /usr/bin/python3 -Es /usr/sbin/tuned -l -P&#xA;&#xA;Warning: some journal files were not opened due to insufficient permissions.&#xA;user1@rhel10-vm2:~$&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Display the list of available tuning profiles:&lt;/p&gt;</description>
    </item>
    <item>
      <title>System Logging</title>
      <link>https://wassimaouadi.com/posts/systemlogging/</link>
      <pubDate>Tue, 21 Jul 2026 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/systemlogging/</guid>
      <description>&lt;h1 id=&#34;definition&#34;&gt;Definition&lt;/h1&gt;&#xA;&lt;p&gt;Syslogs contain subsets of information on faults, events, audit &amp;amp; session data, all related the monitored objects. Not all logs depict errors. Syslog can include audit and event logs.&lt;/p&gt;&#xA;&lt;h1 id=&#34;syslog-facilities&#34;&gt;Syslog Facilities&lt;/h1&gt;&#xA;&lt;p&gt;Any program or process capable of generating syslogs.&lt;/p&gt;&#xA;&lt;h1 id=&#34;syslog-severities&#34;&gt;Syslog Severities&lt;/h1&gt;&#xA;&lt;p&gt;aka syslog severity levels or syslog priorities. The describe different levels of importance. Example of syslog severities: emergency, alert, critical, informational, warnings.&lt;/p&gt;&#xA;&lt;h1 id=&#34;how-linux-implements-logging&#34;&gt;How Linux implements logging&lt;/h1&gt;&#xA;&lt;h2 id=&#34;rsyslogd&#34;&gt;rsyslogd&lt;/h2&gt;&#xA;&lt;p&gt;Verify the version of rsyslogd deployed on a RHEL machine:&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Linux Kernel</title>
      <link>https://wassimaouadi.com/posts/linuxkernel/</link>
      <pubDate>Mon, 20 Jul 2026 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/linuxkernel/</guid>
      <description>&lt;h1 id=&#34;finding-the-kernel-packages&#34;&gt;Finding the kernel packages&lt;/h1&gt;&#xA;&lt;p&gt;The Linux kernel is not a monolithic file but rather a set of RPM packages.&lt;/p&gt;&#xA;&lt;p&gt;Find out the installed kernel packages:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;user1@localhost:~$ rpm -qa *kernel*&#xA;kernel-modules-extra-matched-6.12.0-124.8.1.el10_1.x86_64&#xA;kernel-tools-libs-6.12.0-124.8.1.el10_1.x86_64&#xA;kernel-modules-core-6.12.0-124.8.1.el10_1.x86_64&#xA;kernel-core-6.12.0-124.8.1.el10_1.x86_64&#xA;kernel-modules-6.12.0-124.8.1.el10_1.x86_64&#xA;kernel-modules-extra-6.12.0-124.8.1.el10_1.x86_64&#xA;kernel-tools-6.12.0-124.8.1.el10_1.x86_64&#xA;kernel-6.12.0-124.8.1.el10_1.x86_64&#xA;user1@localhost:~$ &#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Find out the kernel version and release:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;user1@localhost:~$ uname --help&#xA;Usage: uname [OPTION]...&#xA;Print certain system information.  With no OPTION, same as -s.&#xA;&#xA;  -a, --all                print all information, in the following order,&#xA;                             except omit -p and -i if unknown:&#xA;  -s, --kernel-name        print the kernel name&#xA;  -n, --nodename           print the network node hostname&#xA;  -r, --kernel-release     print the kernel release&#xA;  -v, --kernel-version     print the kernel version&#xA;  -m, --machine            print the machine hardware name&#xA;  -p, --processor          print the processor type (non-portable)&#xA;  -i, --hardware-platform  print the hardware platform (non-portable)&#xA;  -o, --operating-system   print the operating system&#xA;      --help        display this help and exit&#xA;      --version     output version information and exit&#xA;&#xA;GNU coreutils online help: &amp;lt;https://www.gnu.org/software/coreutils/&amp;gt;&#xA;Full documentation &amp;lt;https://www.gnu.org/software/coreutils/uname&amp;gt;&#xA;or available locally via: info &amp;#39;(coreutils) uname invocation&amp;#39;&#xA;user1@localhost:~$ &#xA;user1@localhost:~$ uname -v&#xA;#1 SMP PREEMPT_DYNAMIC Fri Oct 17 13:03:58 EDT 2025&#xA;user1@localhost:~$ uname -r&#xA;6.12.0-124.8.1.el10_1.x86_64&#xA;user1@localhost:~$ &#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h1 id=&#34;kernel-related-files&#34;&gt;Kernel-related files&lt;/h1&gt;&#xA;&lt;h2 id=&#34;in-the-boot-directory&#34;&gt;in the /boot directory&lt;/h2&gt;&#xA;&lt;p&gt;With the exception of the &lt;em&gt;efi&lt;/em&gt; and &lt;em&gt;grub2&lt;/em&gt; directories, which deal with the bootloader for UEFI and BIOS systems respectively, the rest of the files and subdirectories under the &lt;em&gt;/boot/&lt;/em&gt; directory are related to the kernel.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Linux GRUB2</title>
      <link>https://wassimaouadi.com/posts/linuxgrub2/</link>
      <pubDate>Sun, 19 Jul 2026 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/linuxgrub2/</guid>
      <description>&lt;p&gt;Grub2 is a popular bootloader for BIOS and UEFI systems. It typically displays boot entries in a black background during system start. Each of these boot entries seem to be a reference to a set of configuration instructions that are defined in files. Such files are located under &lt;em&gt;/boot/loader/entries/&lt;/em&gt; according the the man page of &lt;code&gt;grubby&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;user1@rhel10-vm2:~$ ls /boot/loader/entries/&#xA;ls: cannot open directory &amp;#39;/boot/loader/entries/&amp;#39;: Permission denied&#xA;user1@rhel10-vm2:~$ &#xA;user1@rhel10-vm2:~$ sudo ls /boot/loader/entries/&#xA;995c0067e7c140f28c8539b917f55418-0-rescue.conf&#xA;995c0067e7c140f28c8539b917f55418-6.12.0-55.43.1.el10_0.x86_64.conf&#xA;user1@rhel10-vm2:~$ &#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;When my lab VM is booting, grub2 shows only two boot entries. And I found only two files under &lt;em&gt;/boot/loader/entries/&lt;/em&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Application Management with Flatpak</title>
      <link>https://wassimaouadi.com/posts/linuxflatpakpkgmgmt/</link>
      <pubDate>Sat, 18 Jul 2026 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/linuxflatpakpkgmgmt/</guid>
      <description>&lt;h1 id=&#34;installing-and-removing-flatpak&#34;&gt;Installing and Removing Flatpak&lt;/h1&gt;&#xA;&lt;p&gt;Read this &lt;a href=&#34;https://wassimaouadi.com/technotes/linuxdnfpkgmgmt&#34;&gt;technote&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h1 id=&#34;flatpak-and-remotes&#34;&gt;Flatpak and Remotes&lt;/h1&gt;&#xA;&lt;p&gt;A Flatpak remote is a local representation of an online Flatpak repository. It can be a statically defined &amp;lsquo;.flatpakrepo&amp;rsquo; file, manually placed under &amp;lsquo;/etc/flatpak/repos.d/&amp;rsquo;, or a dynamically defined section of the active configuration file, which is the &amp;lsquo;/var/lib/flatpak/repo/config&amp;rsquo; file.&lt;/p&gt;&#xA;&lt;p&gt;The addition of a description of a Flatpak remote in the active configuration file is performed by the Flatpak tool, when the command &lt;code&gt;flatpak remote-add&lt;/code&gt; is executed.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Junos Generated Routes</title>
      <link>https://wassimaouadi.com/posts/junosgeneratedroutes/</link>
      <pubDate>Fri, 17 Jul 2026 07:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/junosgeneratedroutes/</guid>
      <description>&lt;h1 id=&#34;topology&#34;&gt;Topology&lt;/h1&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;graph LR&#xA;net1(LAN1_172.17.99.0/24) &#xA;net1 &amp;lt;--&amp;gt; R1&#xA;R1 &amp;lt;--&amp;gt; |WAN1_10.10.10.8/30|R4&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h1 id=&#34;configuration-and-interpretations&#34;&gt;Configuration and Interpretations&lt;/h1&gt;&#xA;&lt;p&gt;Desired outcome: I want to configure a generated route on R1 for the prefix 172.17.99.0. Currently, the prefix 172.17.99.0/24 is directly attached to ge-0/0/6. I want to make R1 advertise the generated route 172.17.96.0/19 toward its BGP neighbor R4 only when R1 receives the BGP route 10.22.1.0/26 from R4 (which is configured as an aggregate route on R4) and successfully imports it from BGP into inet.0.&#xA;On R1, at the moment there is only one contributing route for the generated route, which is 17.17.99.0/24.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Junos Aggregate Routes</title>
      <link>https://wassimaouadi.com/posts/junosaggregateroutes/</link>
      <pubDate>Thu, 16 Jul 2026 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/junosaggregateroutes/</guid>
      <description>&lt;h1 id=&#34;topology&#34;&gt;Topology&lt;/h1&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;graph LR&#xA;net1(LAN1_172.17.99.0/24) &#xA;net1 &amp;lt;--&amp;gt; R1&#xA;R1 &amp;lt;--&amp;gt; |WAN1_10.10.10.8/30|R4&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h1 id=&#34;configuration-and-analysis&#34;&gt;Configuration and Analysis&lt;/h1&gt;&#xA;&lt;p&gt;The default next hop of an aggregate route is &lt;code&gt;reject&lt;/code&gt;:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;root@R4&amp;gt; show configuration routing-options rib inet.0 aggregate &#xA;defaults {&#xA;    preference 189;&#xA;}&#xA;route 10.22.1.0/26;&#xA;&#xA;root@R4&amp;gt; &#xA;root@R4&amp;gt; show route protocol aggregate &#xA;&#xA;inet.0: 15 destinations, 17 routes (15 active, 0 holddown, 0 hidden)&#xA;+ = Active Route, - = Last Active, * = Both&#xA;&#xA;10.22.1.0/26       *[Aggregate/189] 00:00:58&#xA;                       Reject&#xA;&#xA;inet6.0: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden)&#xA;&#xA;root@R4&amp;gt; &#xA;root@R4&amp;gt; show route 10.22.1.0/26 exact detail &#xA;&#xA;inet.0: 15 destinations, 17 routes (15 active, 0 holddown, 0 hidden)&#xA;10.22.1.0/26 (1 entry, 1 announced)&#xA;        *Aggregate Preference: 189&#xA;                Next hop type: Reject, Next hop index: 0&#xA;                Address: 0x77c5434&#xA;                Next-hop reference count: 2&#xA;                Kernel Table Id: 0&#xA;                State: &amp;lt;Active Int Ext&amp;gt;&#xA;                Local AS:    22 &#xA;                Age: 7:22 &#xA;                Validation State: unverified &#xA;                Task: Aggregate&#xA;                Announcement bits (2): 0-KRT 5-Resolve tree 3 &#xA;                AS path: I  (LocalAgg)&#xA;                Flags:                  Depth: 0        Active&#xA;                AS path list:&#xA;                AS path: I Refcount: 2&#xA;                Contributing Routes (2):&#xA;                        10.22.1.0/27 proto Direct&#xA;                        10.22.1.32/27 proto Static&#xA;                Thread: junos-main &#xA;&#xA;root@R4&amp;gt; &#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;#LessonLearned The contributing routes may be of different routing protocols or pseudoprotocols.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Linux Units</title>
      <link>https://wassimaouadi.com/posts/linuxunits/</link>
      <pubDate>Wed, 15 Jul 2026 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/linuxunits/</guid>
      <description>&lt;h1 id=&#34;linux-units&#34;&gt;Linux units&lt;/h1&gt;&#xA;&lt;p&gt;Units are configuration files that describe the resources that are managed by &lt;em&gt;systemd&lt;/em&gt;. They are stored in four file system paths. If I do a manual search I can approximately tell where they are:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Wassim@linux:~$ find / -mindepth 1 -name systemd 2&amp;gt;/dev/null&#xA;/home/Wassim/Documents/ddupdate/systemd&#xA;/home/Wassim/.config/systemd&#xA;/run/systemd&#xA;/run/udev/tags/systemd&#xA;/run/user/1000/systemd&#xA;/etc/xdg/systemd&#xA;/etc/systemd&#xA;/var/lib/systemd&#xA;/var/lib/flatpak/runtime/org.gnome.Platform/x86_64/49/e51263e53d04900556e2f97ac2b27201f632f604d68d67f50323f9a99389fdb0/files/lib/systemd&#xA;/var/lib/flatpak/runtime/org.gnome.Platform/x86_64/49/e51263e53d04900556e2f97ac2b27201f632f604d68d67f50323f9a99389fdb0/files/share/licenses/gnome/systemd&#xA;/var/lib/flatpak/runtime/org.gnome.Platform/x86_64/50/a8da766dd0273a67539d2b98358ed6809d8e729280baf63428108837135229d3/files/lib/systemd&#xA;&#xA;&amp;lt;---- output omitted ----&amp;gt;&#xA;&#xA;/var/lib/snapd/snap/gnome-3-38-2004/143/usr/lib/systemd&#xA;/usr/lib/systemd&#xA;/usr/lib/systemd/systemd&#xA;/usr/lib64/systemd&#xA;/usr/lib64/python3.12/site-packages/systemd&#xA;/usr/share/licenses/systemd&#xA;/usr/share/doc/systemd&#xA;/usr/share/systemd&#xA;/usr/share/cockpit/systemd&#xA;Wassim@linux:~$ &#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;em&gt;/run/systemd&lt;/em&gt; seem to store runtime unit files, because &lt;em&gt;/run/&lt;/em&gt; typically contains runtime data, so it can not be a permanent location of systemd unit files. There is also &lt;em&gt;/etc/systemd&lt;/em&gt; and &lt;em&gt;/usr/lib/systemd/system/&lt;/em&gt;. The latter appears to store system units:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Package Management with dnf</title>
      <link>https://wassimaouadi.com/posts/linuxdnf/</link>
      <pubDate>Thu, 09 Jul 2026 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/linuxdnf/</guid>
      <description>&lt;h1 id=&#34;listing-repos-with-dnf&#34;&gt;listing repos with DNF&lt;/h1&gt;&#xA;&lt;p&gt;List the enabled repos: either with &lt;code&gt;dnf repolist&lt;/code&gt; or &lt;code&gt;dnf repolist --enabled&lt;/code&gt;. I can add the verbose option &lt;code&gt;-v&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;user1@localhost:~$ dnf repolist -v&#xA;Loaded plugins: builddep, changelog, config-manager, copr, debuginfo-install, download, generate_completion_cache, groups-manager, kpatch, needs-restarting, notify-packagekit, playground, product-id, repoclosure, repodiff, repograph, repomanage, reposync, subscription-manager, system-upgrade, uploadprofile&#xA;Not root, Subscription Management repositories not updated&#xA;DNF version: 4.20.0&#xA;cachedir: /var/tmp/dnf-user1-w76vxc5s&#xA;OS software                                                   2.7 MB/s | 2.7 kB     00:00    &#xA;Application software                                          2.7 MB/s | 2.8 kB     00:00    &#xA;Repo-id            : AppStream&#xA;Repo-name          : Application software&#xA;Repo-revision      : 1761027148&#xA;Repo-updated       : Tue 21 Oct 2025 08:12:28 AM CEST&#xA;Repo-pkgs          : 4,514&#xA;Repo-available-pkgs: 4,514&#xA;Repo-size          : 6.5 G&#xA;Repo-baseurl       : file:///mnt/AppStream&#xA;Repo-expire        : 172,800 second(s) (last: Sat 04 Jul 2026 10:29:26 PM CEST)&#xA;Repo-filename      : /etc/yum.repos.d/local.repo&#xA;&#xA;Repo-id            : baseOS&#xA;Repo-name          : OS software&#xA;Repo-revision      : 1761027164&#xA;Repo-updated       : Tue 21 Oct 2025 08:12:45 AM CEST&#xA;Repo-pkgs          : 946&#xA;Repo-available-pkgs: 946&#xA;Repo-size          : 1.3 G&#xA;Repo-baseurl       : file:///mnt/BaseOS&#xA;Repo-expire        : 172,800 second(s) (last: Sat 04 Jul 2026 10:29:26 PM CEST)&#xA;Repo-filename      : /etc/yum.repos.d/local.repo&#xA;Total packages: 5,460&#xA;user1@localhost:~$ &#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;user1@localhost:~$ dnf repolist --enabled -v&#xA;Loaded plugins: builddep, changelog, config-manager, copr, debuginfo-install, download, generate_completion_cache, groups-manager, kpatch, needs-restarting, notify-packagekit, playground, product-id, repoclosure, repodiff, repograph, repomanage, reposync, subscription-manager, system-upgrade, uploadprofile&#xA;Not root, Subscription Management repositories not updated&#xA;DNF version: 4.20.0&#xA;cachedir: /var/tmp/dnf-user1-w76vxc5s&#xA;Last metadata expiration check: 0:05:39 ago on Sat 11 Jul 2026 05:38:51 PM CEST.&#xA;Repo-id            : AppStream&#xA;Repo-name          : Application software&#xA;Repo-revision      : 1761027148&#xA;Repo-updated       : Tue 21 Oct 2025 08:12:28 AM CEST&#xA;Repo-pkgs          : 4,514&#xA;Repo-available-pkgs: 4,514&#xA;Repo-size          : 6.5 G&#xA;Repo-baseurl       : file:///mnt/AppStream&#xA;Repo-expire        : 172,800 second(s) (last: Sat 11 Jul 2026 05:38:51 PM CEST)&#xA;Repo-filename      : /etc/yum.repos.d/local.repo&#xA;&#xA;Repo-id            : baseOS&#xA;Repo-name          : OS software&#xA;Repo-revision      : 1761027164&#xA;Repo-updated       : Tue 21 Oct 2025 08:12:45 AM CEST&#xA;Repo-pkgs          : 946&#xA;Repo-available-pkgs: 946&#xA;Repo-size          : 1.3 G&#xA;Repo-baseurl       : file:///mnt/BaseOS&#xA;Repo-expire        : 172,800 second(s) (last: Sat 11 Jul 2026 05:38:51 PM CEST)&#xA;Repo-filename      : /etc/yum.repos.d/local.repo&#xA;Total packages: 5,460&#xA;user1@localhost:~$ &#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;#LessonLearned There is no difference in output between &lt;code&gt;dnf repolist -v&lt;/code&gt; and &lt;code&gt;dnf repolist --enabled -v&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Miscellaneous Operations in Linux</title>
      <link>https://wassimaouadi.com/posts/linuxoperations/</link>
      <pubDate>Mon, 08 Jun 2026 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/linuxoperations/</guid>
      <description>&lt;h1 id=&#34;users&#34;&gt;users&lt;/h1&gt;&#xA;&lt;p&gt;The &lt;code&gt;useradd&lt;/code&gt; command with the &lt;code&gt;-b&lt;/code&gt; option creates a base directory for the user account. The home directory is always the concatenation of the base directory and the user account name, according to Linux man pages.&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;user01@rhel10-vm4:~$ sudo useradd user02 -b /myBaseDir&#xA;Creating mailbox file: File exists&#xA;user01@rhel10-vm4:~$&#xA;user01@rhel10-vm4:~$ sudo su - user02&#xA;Last login: Fri Oct  2 01:27:39 EDT 2026 on pts/3&#xA;user02@rhel10-vm4:~$ pwd&#xA;/myBaseDir/user02&#xA;user02@rhel10-vm4:~$&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;I delete the user account, recreate it without the &lt;code&gt;-b&lt;/code&gt; option and check its home directory again:&lt;/p&gt;</description>
    </item>
    <item>
      <title>test</title>
      <link>https://wassimaouadi.com/posts/test1/</link>
      <pubDate>Mon, 08 Jun 2026 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/test1/</guid>
      <description>&lt;p&gt;ddd&lt;/p&gt;</description>
    </item>
    <item>
      <title>Using vim</title>
      <link>https://wassimaouadi.com/posts/vim/</link>
      <pubDate>Mon, 08 Jun 2026 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/vim/</guid>
      <description>&lt;h1 id=&#34;my-environment&#34;&gt;my environment&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;I installed vim on Windows&lt;/li&gt;&#xA;&lt;li&gt;added the following directives at the end of the &lt;em&gt;_vimrc&lt;/em&gt; file:&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;:colorscheme ron&#xA;&#xA;:set guioptions +=d&#xA;:set guioptions -=m&#xA;:set guioptions -=T&#xA;:set guioptions -=r&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;They respectively:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;set the colorscheme to &lt;em&gt;ron&lt;/em&gt;,&lt;/li&gt;&#xA;&lt;li&gt;enable dark mode,&lt;/li&gt;&#xA;&lt;li&gt;remove the menu bar,&lt;/li&gt;&#xA;&lt;li&gt;remove the tools bar,&lt;/li&gt;&#xA;&lt;li&gt;remove the right scrollbar.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;references&#34;&gt;references&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;reddit.com/r/vim/comments/fq7lk5/windows_10_gvim_dark_menu_bar/&lt;/li&gt;&#xA;&lt;li&gt;stackoverflow.com/questions/13525518/how-to-hide-the-menu-tool-bar-of-gvim&lt;/li&gt;&#xA;&lt;li&gt;reddit.com/r/vim/comments/fq7lk5/windows_10_gvim_dark_menu_bar/&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Static Routing in Junos</title>
      <link>https://wassimaouadi.com/posts/junosstaticrouting/</link>
      <pubDate>Sun, 07 Jun 2026 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/junosstaticrouting/</guid>
      <description>&lt;h1 id=&#34;next-hop-values&#34;&gt;Next Hop Values&lt;/h1&gt;&#xA;&lt;p&gt;On R2, verify that there is a BGP route to 1.1.1.1.&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;user1@R2&amp;gt;&#xA;user1@R2&amp;gt; show route 1.1.1.1&#xA;&#xA;inet.0: 15 destinations, 15 routes (15 active, 0 holddown, 0 hidden)&#xA;+ = Active Route, - = Last Active, * = Both&#xA;&#xA;1.1.1.1/32         *[BGP/170] 5d 13:58:29, localpref 100&#xA;                      AS path: 17 17 17 17 I, validation-state: unverified&#xA;                    &amp;gt;  to 10.10.10.1 via ge-0/0/1.0&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;On R1, configure static route to 10.22.1.32/27 with next-hop 10.10.10.2, preference 6. The ping from R1&amp;rsquo;s loopback to R2&amp;rsquo;s 10.22.1.34 interface must succeed.&#xA;How RIB looks like, when a static route is configured with a next hop set to the IP address of the directly-attached host:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Configuring, verifying and troubleshooting BGP on Junos</title>
      <link>https://wassimaouadi.com/posts/junosbgp/</link>
      <pubDate>Fri, 05 Jun 2026 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/junosbgp/</guid>
      <description>&lt;h1 id=&#34;verifying-sent-and-received-routes-to-and-from-a-bgp-neighbor&#34;&gt;verifying sent and received routes to and from a BGP neighbor&lt;/h1&gt;&#xA;&lt;p&gt;The &lt;code&gt;show route advertising-protocol bgp&lt;/code&gt; and &lt;code&gt;show route receive-protocol bgp&lt;/code&gt; were my quick way to verify which NLRIs are sent and received with a particular BGP neighbor.&lt;/p&gt;&#xA;&lt;p&gt;Too much relying on the output of &lt;code&gt;show route advertising-protocol bgp&lt;/code&gt; and &lt;code&gt;show route receive-protocol bgp&lt;/code&gt; without paying attention to the BGP neighor in the command slowly led me to assume the absence of NLRI exchange between the BGP peers, when the output of those commands is empty. The following example depicts the configuration of iBGP using route reflector technology to build a VXLAN overlay for a leaf-spine topology. Each spine acts as a route reflector to its own client group:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Linux Package Management with RPM</title>
      <link>https://wassimaouadi.com/posts/linuxrpm/</link>
      <pubDate>Thu, 04 Jun 2026 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/linuxrpm/</guid>
      <description>&lt;h1 id=&#34;rpm-package-states&#34;&gt;RPM Package States&lt;/h1&gt;&#xA;&lt;p&gt;An RPM package can be in either of the following states:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;installed&lt;/li&gt;&#xA;&lt;li&gt;available, i.e. installable:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;as an individual physical RPM file, such as downloaded from a public RPM repository,&lt;/li&gt;&#xA;&lt;li&gt;as a physical RPM file, part of a DNF repository.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;install-an-rpm-package&#34;&gt;Install an RPM package&lt;/h1&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Wassim@linux:~/Downloads$ rpm -i zoom_x86_64.rpm &#xA;warning: zoom_x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID 9706ac24: NOKEY&#xA;error: can&amp;#39;t create transaction lock on /usr/lib/sysimage/rpm/.rpm.lock (Permission denied)&#xA;Wassim@linux:~/Downloads$ &#xA;Wassim@linux:~/Downloads$ sudo rpm zoom_x86_64.rpm&#xA;[sudo] password for Wassim: &#xA;RPM version 4.19.1.1&#xA;Copyright (C) 1998-2002 - Red Hat, Inc.&#xA;This program may be freely redistributed under the terms of the GNU GPL&#xA;&#xA;Usage: rpm [-afgpqlsiv?] [-a|--all] [-f|--file] [--path] [-g|--group] [-p|--package]&#xA;        [--pkgid] [--hdrid] [-q|--query] [--triggeredby] [--whatconflicts]&#xA;        [--whatrequires] [--whatobsoletes] [--whatprovides] [--whatrecommends]&#xA;        [--whatsuggests] [--whatsupplements] [--whatenhances] [--nomanifest]&#xA;        [-c|--configfiles] [-d|--docfiles] [-L|--licensefiles] [-A|--artifactfiles]&#xA;        [--noghost] [--noconfig] [--noartifact] [--dump] [-l|--list]&#xA;        [--queryformat=QUERYFORMAT] [-s|--state] [--nofiledigest] [--nofiles] [--nodeps]&#xA;        [--noscript] [--allfiles] [--allmatches] [--badreloc] [-e|--erase=&amp;lt;package&amp;gt;+]&#xA;        [--excludedocs] [--excludepath=&amp;lt;path&amp;gt;] [--force] [-F|--freshen=&amp;lt;packagefile&amp;gt;+]&#xA;        [-h|--hash] [--ignorearch] [--ignoreos] [--ignoresize] [--noverify]&#xA;        [-i|--install] [--justdb] [--nodb] [--nodeps] [--nofiledigest] [--nocontexts]&#xA;        [--nocaps] [--noorder] [--noscripts] [--notriggers] [--oldpackage] [--percent]&#xA;        [--prefix=&amp;lt;dir&amp;gt;] [--relocate=&amp;lt;old&amp;gt;=&amp;lt;new&amp;gt;] [--replacefiles] [--replacepkgs]&#xA;        [--test] [-U|--upgrade=&amp;lt;packagefile&amp;gt;+] [--reinstall=&amp;lt;packagefile&amp;gt;+]&#xA;        [--restore=&amp;lt;packagefile&amp;gt;+] [-D|--define=&amp;#39;MACRO EXPR&amp;#39;] [--undefine=MACRO]&#xA;        [-E|--eval=&amp;#39;EXPR&amp;#39;] [--target=CPU-VENDOR-OS] [--macros=&amp;lt;FILE:...&amp;gt;] [--load=&amp;lt;FILE&amp;gt;]&#xA;        [--noplugins] [--nodigest] [--nosignature] [--rcfile=&amp;lt;FILE:...&amp;gt;] [-r|--root=ROOT]&#xA;        [--dbpath=DIRECTORY] [--querytags] [--showrc] [--quiet] [-v|--verbose]&#xA;        [--version] [-?|--help] [--usage] [--scripts] [--conflicts] [--obsoletes]&#xA;        [--provides] [--requires] [--recommends] [--suggests] [--supplements]&#xA;        [--enhances] [--info] [--changelog] [--changes] [--xml] [--triggers]&#xA;        [--filetriggers] [--last] [--dupes] [--filesbypkg] [--fileclass] [--filecolor]&#xA;        [--fileprovide] [--filerequire] [--filecaps]&#xA;Wassim@linux:~/Downloads$ &#xA;Wassim@linux:~/Downloads$ &#xA;Wassim@linux:~/Downloads$ sudo rpm -iv zoom_x86_64.rpm &#xA;warning: zoom_x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID 9706ac24: NOKEY&#xA;Verifying packages...&#xA;Preparing packages...&#xA;zoom-7.1.5.4332-1.x86_64&#xA;run post install script, action is 1...&#xA;Wassim@linux:~/Downloads$ &#xA;Wassim@linux:~/Downloads$ rpm -qa zoom&#xA;zoom-7.1.5.4332-1.x86_64&#xA;Wassim@linux:~/Downloads$ &#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h1 id=&#34;verify-the-integrity-of-an-available-rpm-package&#34;&gt;Verify the integrity of an available RPM package&lt;/h1&gt;&#xA;&lt;p&gt;To verify the integrity, i.e. non corruption, of a RPM package: &lt;code&gt;rpm -K&lt;/code&gt;. The command runs on the physical file of the RPM package. The command instructs the system to generate hash values based on the header and payload of the RPM physical file and compare them with the hash values stored in the RPM physical file itself.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Cisco CIMC</title>
      <link>https://wassimaouadi.com/posts/ciscocimc/</link>
      <pubDate>Wed, 03 Jun 2026 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/ciscocimc/</guid>
      <description>&lt;h1 id=&#34;defining-cimc&#34;&gt;Defining CIMC&lt;/h1&gt;&#xA;&lt;p&gt;CIMC is the management interface of the server hardware that underlies the APIC software.&lt;/p&gt;&#xA;&lt;p&gt;CIMC software != APIC software.&lt;/p&gt;&#xA;&lt;h1 id=&#34;cimc-console-connectivity&#34;&gt;CIMC Console Connectivity&lt;/h1&gt;&#xA;&lt;h2 id=&#34;method-1-connecting-to-the-serial-console-port-directly&#34;&gt;Method 1: Connecting To The Serial Console Port Directly&lt;/h2&gt;&#xA;&lt;p&gt;Connect your laptop to the console port of the APIC server (usually the RJ-45 port at the far right).&#xA;Use baud rate of 115200 (or configure that as speed under the async interface, if you&amp;rsquo;re connecting to CIMC through terminal services)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Troubleshooting Junos</title>
      <link>https://wassimaouadi.com/posts/junostshoot/</link>
      <pubDate>Tue, 02 Jun 2026 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/junostshoot/</guid>
      <description>&lt;h1 id=&#34;notes-from-a-juniper-junos-troubleshooting-course&#34;&gt;Notes from a Juniper Junos troubleshooting course&lt;/h1&gt;&#xA;&lt;p&gt;Packets reaching the irb interface trigger a routing lookup.&lt;/p&gt;&#xA;&lt;p&gt;When using vMX, typically in a lab, then there should be two VMs: one for the control plane and one for the forwarding plane, named something like &lt;em&gt;vmx1-vcp&lt;/em&gt; and &lt;em&gt;vmx1-vfp&lt;/em&gt; respectively.&lt;/p&gt;&#xA;&lt;p&gt;When pinging the IP address of an aggregate Ethernet interface, the ICMP Echo Reply packets are duplicated:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;lab@vEX&amp;gt; ping 172.16.200.2 count 3    &#xA;PING 172.16.200.2 (172.16.200.2): 56 data bytes&#xA;64 bytes from 172.16.200.2: icmp_seq=0 ttl=63 time=3.034 ms&#xA;64 bytes from 172.16.200.2: icmp_seq=0 ttl=63 time=3.209 ms (DUP!)&#xA;64 bytes from 172.16.200.2: icmp_seq=0 ttl=63 time=3.251 ms (DUP!)&#xA;64 bytes from 172.16.200.2: icmp_seq=0 ttl=63 time=3.295 ms (DUP!)&#xA;64 bytes from 172.16.200.2: icmp_seq=0 ttl=63 time=3.346 ms (DUP!)&#xA;64 bytes from 172.16.200.2: icmp_seq=0 ttl=63 time=3.387 ms (DUP!)&#xA;64 bytes from 172.16.200.2: icmp_seq=0 ttl=63 time=3.418 ms (DUP!)&#xA;64 bytes from 172.16.200.2: icmp_seq=0 ttl=63 time=3.448 ms (DUP!)&#xA;64 bytes from 172.16.200.2: icmp_seq=1 ttl=63 time=3.641 ms&#xA;64 bytes from 172.16.200.2: icmp_seq=1 ttl=63 time=3.688 ms (DUP!)&#xA;64 bytes from 172.16.200.2: icmp_seq=1 ttl=63 time=3.711 ms (DUP!)&#xA;64 bytes from 172.16.200.2: icmp_seq=1 ttl=63 time=3.717 ms (DUP!)&#xA;64 bytes from 172.16.200.2: icmp_seq=1 ttl=63 time=3.871 ms (DUP!)&#xA;64 bytes from 172.16.200.2: icmp_seq=1 ttl=63 time=3.883 ms (DUP!)&#xA;64 bytes from 172.16.200.2: icmp_seq=1 ttl=63 time=3.919 ms (DUP!)&#xA;64 bytes from 172.16.200.2: icmp_seq=1 ttl=63 time=3.923 ms (DUP!)&#xA;64 bytes from 172.16.200.2: icmp_seq=2 ttl=63 time=2.626 ms&#xA;&#xA;--- 172.16.200.2 ping statistics ---&#xA;3 packets transmitted, 3 packets received, +14 duplicates, 0% packet loss&#xA;round-trip min/avg/max/stddev = 2.626/3.492/3.923/0.343 ms&#xA;&#xA;lab@vEX&amp;gt; &#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The &amp;lsquo;hot swappable&amp;rsquo; and &amp;lsquo;hot pluggable&amp;rsquo; are chassis capabilities and are not the same.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Junos firewall filters</title>
      <link>https://wassimaouadi.com/posts/junosfirewallfilters/</link>
      <pubDate>Sun, 03 May 2026 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/junosfirewallfilters/</guid>
      <description>&lt;h1 id=&#34;definition&#34;&gt;Definition&lt;/h1&gt;&#xA;&lt;p&gt;Firewall filters in Juniper Junos are stateless packet filters that act pretty much like the access lists in Cisco IOS, IOS XE and NX-OS.&#xA;Once configured, they must be assigned in the input or output direction of one or more interfaces to become effective.&lt;/p&gt;&#xA;&lt;h1 id=&#34;example-scenario-preventing-ping-packets-to-be-initiated-from-one-direction-while-allowing-the-other-direction&#34;&gt;Example scenario: preventing ping packets to be initiated from one direction while allowing the other direction&lt;/h1&gt;&#xA;&lt;h2 id=&#34;topology&#34;&gt;Topology&lt;/h2&gt;&#xA;&lt;p&gt;R1:ge-0/0/5(.1) &amp;lt;&amp;mdash; 10.10.7.0/30 &amp;mdash;&amp;gt; (.2)ge-0.0.1:R5&lt;/p&gt;&#xA;&lt;h2 id=&#34;configuration&#34;&gt;Configuration&lt;/h2&gt;&#xA;&lt;p&gt;On R5:&lt;/p&gt;</description>
    </item>
    <item>
      <title>OSPF</title>
      <link>https://wassimaouadi.com/posts/ospf/</link>
      <pubDate>Sat, 02 May 2026 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/ospf/</guid>
      <description>&lt;h1 id=&#34;ospf-in-junos&#34;&gt;OSPF in Junos&lt;/h1&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;lab@vSRX&amp;gt; show configuration interfaces ge-0/0/2 &#xA;unit 0 {&#xA;    family inet {&#xA;        address 192.168.11.2/24;&#xA;    }&#xA;}&#xA;&#xA;lab@vSRX&amp;gt; show configuration protocols ospf &#xA;area 0.0.0.0 {&#xA;    interface ge-0/0/2.0;&#xA;}&#xA;&#xA;lab@vSRX&amp;gt; &#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;lab@vSRX&amp;gt; show ospf interface &#xA;Interface           State   Area            DR ID           BDR ID          Nbrs&#xA;ge-0/0/2.0          BDR     0.0.0.0         192.168.1.1     192.168.31.1       1&#xA;&#xA;lab@vSRX&amp;gt; &#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;lab@vSRX&amp;gt; show ospf neighbor &#xA;Address          Interface              State           ID               Pri  Dead&#xA;192.168.11.1     ge-0/0/2.0             Full            192.168.1.1      128    39&#xA;&#xA;lab@vSRX&amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&#xA;lab@vSRX&amp;gt; show route protocol ospf  &#xA;&#xA;inet.0: 24 destinations, 38 routes (24 active, 0 holddown, 0 hidden)&#xA;+ = Active Route, - = Last Active, * = Both&#xA;&#xA;192.168.1.1/32     *[OSPF/10] 01:58:32, metric 1&#xA;                    &amp;gt;  to 192.168.11.1 via ge-0/0/2.0&#xA;224.0.0.5/32       *[OSPF/10] 01:58:42, metric 1&#xA;                       MultiRecv&#xA;&#xA;inet6.0: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden)&#xA;&#xA;lab@vSRX&amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;mtu-mismatch&#34;&gt;MTU mismatch&lt;/h2&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&#xA;lab@vSRX&amp;gt; show ospf neighbor &#xA;Address          Interface              State           ID               Pri  Dead&#xA;192.168.11.1     ge-0/0/2.0             ExStart         192.168.1.1      128    35&#xA;&#xA;lab@vSRX&amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;lab@vSRX&amp;gt; show interfaces ge-0/0/2 | match mtu &#xA;  Link-level type: Ethernet, MTU: 1400, LAN-PHY mode, Link-mode: Full-duplex, Speed: 10Gbps,&#xA;    Protocol inet, MTU: 1386&#xA;&#xA;lab@vSRX&amp;gt; show configuration interfaces ge-0/0/2 | display inheritance &#xA;##&#xA;## &amp;#39;1400&amp;#39; was inherited from group &amp;#39;group1&amp;#39;&#xA;##&#xA;mtu 1400;&#xA;unit 0 {&#xA;    family inet {&#xA;        ##&#xA;        ## &amp;#39;no-neighbor-learn&amp;#39; was inherited from group &amp;#39;group1&amp;#39;&#xA;        ##&#xA;        no-neighbor-learn;&#xA;        address 192.168.11.2/24 {&#xA;            arp 192.168.11.1 mac 00:50:56:a9:50:92;&#xA;        }&#xA;    }&#xA;}&#xA;&#xA;lab@vSRX&amp;gt; &#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;lab@vMX-2&amp;gt; show interfaces ge-0/0/2 | match mtu &#xA;  Link-level type: Ethernet, MTU: 1514, MRU: 1522, LAN-PHY mode, Speed: 1000mbps, BPDU Error: None,&#xA;    Protocol inet, MTU: 1500&#xA;    Protocol multiservice, MTU: Unlimited&#xA;&#xA;lab@vMX-2&amp;gt; &#xA;&#xA;lab@vMX-2&amp;gt; show configuration interfaces ge-0/0/2 | display inheritance &#xA;description &amp;#34;vr1 to vsrx1&amp;#34;;&#xA;unit 0 {&#xA;    family inet {&#xA;        address 192.168.11.1/24;&#xA;    }&#xA;}&#xA;&#xA;lab@vMX-2&amp;gt; &#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The solution in this case is to change the MTU value of the physical interface on either side of the link:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Migrating My Old Blog Posts to Hugo</title>
      <link>https://wassimaouadi.com/posts/setting-up-my-website-using-hugo/</link>
      <pubDate>Fri, 01 May 2026 20:31:20 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/setting-up-my-website-using-hugo/</guid>
      <description>&lt;h1 id=&#34;intended-workflow&#34;&gt;Intended workflow&lt;/h1&gt;&#xA;&lt;p&gt;Manual copy from old blog -&amp;gt; post locally -&amp;gt; build and publish with &amp;lsquo;hugo&amp;rsquo; -&amp;gt; if result on my local Hugo instance matches expectations I git commit and publish to remote -&amp;gt; GitLab repo main branch gets updated -&amp;gt; Cloudflare Pages triggers a rebuild -&amp;gt; web pages of the blog get updated.&lt;/p&gt;&#xA;&lt;h1 id=&#34;steps-difficulties-and-solutions&#34;&gt;Steps, Difficulties and Solutions&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;download Hugo using Snap&lt;/li&gt;&#xA;&lt;li&gt;create a git repo in the blog directory&lt;/li&gt;&#xA;&lt;li&gt;create a GitLab access token. Define my GitLab repo as a remote for the blog git repo. Git push to the remote. Use the GitLab access token when asked to authenticate - not the GitLab account credentials!&lt;/li&gt;&#xA;&lt;li&gt;by default the main branch on GitLab is protected. For the initial &amp;lsquo;git push remote origin main&amp;rsquo;, I deactivated the protection feature in GitLab under Settings -&amp;gt; Repository -&amp;gt; Protected branches -&amp;gt; main.&lt;/li&gt;&#xA;&lt;li&gt;to create blog posts, I placed them under &amp;lsquo;content/posts&amp;rsquo;. I placed images under &amp;lsquo;static/images&amp;rsquo;. I insert an image in a blog post using this syntax: ![alt_name](/images/IMG_NAME)&lt;/li&gt;&#xA;&lt;li&gt;integrate mit GitLab repo with Cloudflare Pages. I spent much time troubleshooting this. I confused Cloudflare Workers with Cloudflare Pages. I should have chosen the right config option. Firefox does not display the Cloudflare dashboard correctly. Use Chrome instead.&lt;/li&gt;&#xA;&lt;li&gt;I added the Hugo theme &amp;lsquo;Terminal&amp;rsquo; as a git submodule. After customizing the theme, I &amp;lsquo;git add themes/terminal&amp;rsquo; in addition to the staging of the files in the parent folder &amp;lsquo;myblog&amp;rsquo;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;topologies-i-will-practice-inshallah&#34;&gt;Topologies I will practice inshAllah&lt;/h1&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://wassimaouadi.com/images/topo01.png&#34; alt=&#34;this one&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Server Hardware and Cisco UCS</title>
      <link>https://wassimaouadi.com/posts/ciscoucs/</link>
      <pubDate>Thu, 30 Apr 2026 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/ciscoucs/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://wassimaouadi.com/images/01/ciscomds9706.png&#34; alt=&#34;sc1&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://wassimaouadi.com/images/01/ciscoucs-cpusockets01.png&#34; alt=&#34;sc2&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;replacing UCS B-series blade servers that are managed by UCSM requires their decommission and deletion from the inventory of UCSM first. The new blade servers must be commissioned with UCSM.&lt;/p&gt;&#xA;&lt;p&gt;Note: CIMC vs UCSM and Intersight&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;When a UCS C-series rackmount server is managed by UCSM, it can no longer be managed by CIMC.&lt;/li&gt;&#xA;&lt;li&gt;Only UCS C-series rackmount servers that are in standalone mode can be managed through CIMC.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;register-a-ucs-c-series-rackmount-server-in-ucsm&#34;&gt;Register a UCS C-series rackmount server in UCSM&lt;/h1&gt;&#xA;&lt;p&gt;A new UCS C-series rackmount server comes pre-configured to integrate with UCSM through the connection to the FIs. Once the UCS C-series server is cabled to the FIs, I wait for some minutes and I will see the server pop up in the UCSM page:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firewall Manual Stitching in ACI</title>
      <link>https://wassimaouadi.com/posts/acil47serviceinsertion_firewallmanualstitching/</link>
      <pubDate>Sun, 14 Sep 2025 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/acil47serviceinsertion_firewallmanualstitching/</guid>
      <description>&lt;p&gt;aka Network Stitching.&#xA;This is the manual method to insert L4-7 services; VLANs, EPGs and bridge domains are manually created, and EPGs are manually assigned to the L4-7 device interfaces, statically with Static Path Binding or dynamically with a VMM domain.&#xA;If we have to insert more than one L4-7 device, repeat the above process as much as there are devices to integrate.&lt;/p&gt;&#xA;&lt;h1 id=&#34;l4-7-device-vs-l4-7-device&#34;&gt;L4-7 device vs L4-7 Device&lt;/h1&gt;&#xA;&lt;p&gt;An L4-7 &lt;strong&gt;d&lt;/strong&gt;evice in the manual stitching context is one firewall, one ADC, etc. A L4-7 &lt;strong&gt;D&lt;/strong&gt;evice in Service Graphs is the Logical Device, which might contain one or more Concrete Devices.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Steer Traffic to a Firewall Using ACI L4-7 Service Insertion</title>
      <link>https://wassimaouadi.com/posts/acil47serviceinsertion_steertraffictofirewall/</link>
      <pubDate>Sat, 13 Sep 2025 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/acil47serviceinsertion_steertraffictofirewall/</guid>
      <description>&lt;p&gt;If I configure the IP default gateways of the &lt;em&gt;(Provider, Consumer)&lt;/em&gt; pair on ACI and attach an L4-7 Device to ACI, IP routing traffic involving the &lt;em&gt;(Provider, Consumer)&lt;/em&gt; pair will bypass the Service Device due to routing in ACI itself.&#xA;To circumvent that, there are three known methods to force traffic toward the L4-7 Device.&lt;/p&gt;&#xA;&lt;h1 id=&#34;method-1-nat-on-the-l4-7-device&#34;&gt;Method 1: NAT on the L4-7 Device&lt;/h1&gt;&#xA;&lt;h1 id=&#34;method-2-sgr-no-nat-on-the-l4-7-device&#34;&gt;Method 2: SGR (no NAT on the L4-7 Device)&lt;/h1&gt;&#xA;&lt;h1 id=&#34;method-3-vrf-sandwich-and-l3outs&#34;&gt;Method 3: VRF Sandwich and L3Outs&lt;/h1&gt;&#xA;&lt;p&gt;No NAT on the L4-7 Device.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ACI L4-7 Logical Device</title>
      <link>https://wassimaouadi.com/posts/acil47serviceinsertion_logicaldevice/</link>
      <pubDate>Fri, 12 Sep 2025 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/acil47serviceinsertion_logicaldevice/</guid>
      <description>&lt;p&gt;L4-7 Device == L4-7 Cluster Device == Logical Device.&#xA;This is where we inform ACI about our firewall, ADC, etc.&#xA;ACI considers service devices as part of application design. That is why we place their functions in EPG pairs or ESG pairs.&#xA;&lt;img src=&#34;https://wassimaouadi.com/images/fromObsidian/aciL4-7/L4-7serv.ins.0001.svg&#34; alt=&#34;sc1&#34;&gt;&#xA;The L4-7 Device == the Cluster Device == Logical Device: the ACI logical representation of one or more Concrete Devices that perform the same Service Type.&#xA;Re-use of a L4-7 Device is possible, whether using its same Cluster interfaces or additional ones.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ACI L4-7 Cluster Interfaces</title>
      <link>https://wassimaouadi.com/posts/acil47serviceinsertion_clusterinterfaces/</link>
      <pubDate>Thu, 11 Sep 2025 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/acil47serviceinsertion_clusterinterfaces/</guid>
      <description>&lt;p&gt;is the logical interfaces of a L4-7 Device Cluster Device.&#xA;We distinguish Provider Cluster Interfaces and Consumer Cluster Interfaces.&#xA;The ACI administrator must define them under the &lt;strong&gt;Create L4-7 Device&lt;/strong&gt; page.&#xA;&lt;img src=&#34;https://wassimaouadi.com/images/fromObsidian/aciL4-7/b00000013d.png&#34; alt=&#34;sc4&#34;&gt;&lt;/p&gt;&#xA;&lt;h4 id=&#34;consumer-side-interface&#34;&gt;Consumer-Side Interface&lt;/h4&gt;&#xA;&lt;p&gt;The Cluster Interface that will attach directly (or indirectly, in case this is not the first L4-7 Device in the Service Graph Template) to the Consumer-side BD.&lt;/p&gt;&#xA;&lt;h4 id=&#34;provider-side-interface&#34;&gt;Provider-Side Interface&lt;/h4&gt;&#xA;&lt;p&gt;The Cluster Interface that will attach directly (or indirectly, in case this is not the first L4-7 Device in the Service Graph Template) to the Provider-side BD.&#xA;Any Cluster Device will appear as a draggable element when creating a Service Graph Template.&#xA;&lt;img src=&#34;https://wassimaouadi.com/images/fromObsidian/aciL4-7/b00000053.png&#34; alt=&#34;sc4&#34;&gt;&#xA;&lt;img src=&#34;https://wassimaouadi.com/images/fromObsidian/aciL4-7/b00000052.png&#34; alt=&#34;sc5&#34;&gt;&#xA;❗ ACI does not detect duplicate IP addresses when two Cluster Devices have the same management IP address or VIP.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Common Concepts For Cisco ACI Standard Service Graphs and Service Graph Redirects</title>
      <link>https://wassimaouadi.com/posts/acil47serviceinsertion_commonconcepts/</link>
      <pubDate>Fri, 21 Feb 2025 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/acil47serviceinsertion_commonconcepts/</guid>
      <description>&lt;p&gt;These are common concepts for Standard Service Graphs and Service Graph Redirects.&#xA;Service Graph with L4-7 Device in Go-To mode == L3 Service Graph.&#xA;L4-7 Device in Go-To mode and the SGT has PBR enabled == L3 PBR Node.&lt;/p&gt;&#xA;&lt;h1 id=&#34;concepts&#34;&gt;Concepts&lt;/h1&gt;&#xA;&lt;h2 id=&#34;l4-7-service-graph&#34;&gt;L4-7 Service Graph&lt;/h2&gt;&#xA;&lt;p&gt;A Service Graph requires the existence of one or more [[ACI Contracts|Contract]]s between a &lt;em&gt;(Provider, Consumer)&lt;/em&gt; pair, whether they are EPGs or ESGs.&#xA;Service Graphs are extensions of ACI Contracts; They leverage the concept of Provider EPG and Consumer EPG.&#xA;Instead of manual stitching of L4-7 services, ACI can manage service devices just like it manages network policies, including automatic provisioning and removal of services when needed.&#xA;Service Graph is a concept.&#xA;requires the Service Graph Template&lt;/p&gt;</description>
    </item>
    <item>
      <title>Configuring PKI</title>
      <link>https://wassimaouadi.com/posts/pki/</link>
      <pubDate>Sun, 09 Feb 2025 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/pki/</guid>
      <description>&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Technology&lt;/th&gt;&#xA;          &lt;th&gt;Definitions&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;CSR&lt;/td&gt;&#xA;          &lt;td&gt;Certificate Signing Request&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h1 id=&#34;certificates&#34;&gt;Certificates&lt;/h1&gt;&#xA;&lt;h2 id=&#34;issuing-a-digital-certificate&#34;&gt;Issuing a Digital Certificate&lt;/h2&gt;&#xA;&lt;p&gt;Certificate server, Certificate Authority.&#xA;The entities that want the CA to issue a digital certificate for them must send their public key, their IP address and their FQDN to the CA.&#xA;The CA replies with a &lt;em&gt;digital certificate&lt;/em&gt;, aka &lt;em&gt;identity certificate&lt;/em&gt;, aka &lt;em&gt;public key certificate&lt;/em&gt; which means &amp;lsquo;I certify that the entity named in this certificate own the public key mentioned in this digital certificate.&amp;rsquo;&#xA;The digital certificate does not last forever; It has a validity period.&#xA;The digital certificate is a file with the extension &lt;strong&gt;.cer&lt;/strong&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Operations with git</title>
      <link>https://wassimaouadi.com/posts/git/</link>
      <pubDate>Tue, 14 Jan 2025 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/git/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://wassimaouadi.com/images/01/gitterminology.png&#34; alt=&#34;gitterminology.png&#34;&gt;&lt;/p&gt;&#xA;&lt;h1 id=&#34;git-vs-svc&#34;&gt;Git vs SVC&lt;/h1&gt;&#xA;&lt;p&gt;An SVC is a type of Software Configuration Management (SCM)&#xA;git is the most popular distributed software version control (dsvc)&lt;/p&gt;&#xA;&lt;h1 id=&#34;git-vs-github&#34;&gt;Git vs Github&lt;/h1&gt;&#xA;&lt;p&gt;Git is the DSVC (Distributed Software Version Control).&#xA;Github is a cloud platform that uses Git as its core technology plus additional features like Discussions and Pull Requests.&lt;/p&gt;&#xA;&lt;h1 id=&#34;using-git&#34;&gt;Using Git&lt;/h1&gt;&#xA;&lt;p&gt;There are CLI tools like Git Desktop and GUI tools like Microsoft Visual Studio Code to use Git. GUI tools have their own limitations.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ACI and Active-Active Firewall Cluster in Single-Pod and Multi-Pod Designs</title>
      <link>https://wassimaouadi.com/posts/acil47serviceinsertion_activeactivefwspodmpod/</link>
      <pubDate>Sun, 05 Jan 2025 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/acil47serviceinsertion_activeactivefwspodmpod/</guid>
      <description>&lt;h1 id=&#34;aci-single-pod-active-active-firewall-cluster-in-go-to-mode&#34;&gt;ACI Single Pod, Active-Active Firewall Cluster in Go-To Mode&lt;/h1&gt;&#xA;&lt;h2 id=&#34;l4-7-device-config&#34;&gt;L4-7 Device Config&lt;/h2&gt;&#xA;&lt;p&gt;A single Concrete Device, one or more Concrete Device Interfaces and one or more Cluster Interfaces, depending on the physical topology.&#xA;See the document Service Graph Design Guide for ACI 5.2 and Later, page=55.&lt;/p&gt;&#xA;&lt;h1 id=&#34;aci-multi-pod-active-active-firewall-cluster-in-go-to-mode&#34;&gt;ACI Multi-Pod, Active-Active Firewall Cluster in Go-To Mode&lt;/h1&gt;&#xA;&lt;h2 id=&#34;stretched-active-active-firewall-cluster-in-go-to-mode-in-aci-multi-pod-designs&#34;&gt;Stretched Active-Active Firewall Cluster in Go-To Mode, in ACI Multi-Pod Designs&lt;/h2&gt;&#xA;&lt;p&gt;Designing cluster nodes in more than one data center is supported by ACI Multi-Pod.&#xA;Each ACI pod has one or more firewalls in the active role.&#xA;See the document ACI Multi-Pod and Service Node Integration, page=5.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ACI L4-7 Service Insertion - Active-Standby Firewalls with Standard Service Graphs (SSG) in ACI Multi-Site Designs</title>
      <link>https://wassimaouadi.com/posts/acil47serviceinsertion_activestandbyfwstandardsg/</link>
      <pubDate>Thu, 28 Nov 2024 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/acil47serviceinsertion_activestandbyfwstandardsg/</guid>
      <description>&lt;h1 id=&#34;stretched-ha-firewall&#34;&gt;Stretched HA Firewall&lt;/h1&gt;&#xA;&lt;p&gt;Cisco supports a stretched Active-Standby firewall system if:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;ACI operates in layer 2,&lt;/li&gt;&#xA;&lt;li&gt;the firewall operates as the IP default gateway for the endpoints or the firewall operates in Transparent mode or the active and standby nodes are connected with an L3Out.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;independent-ha-firewalls&#34;&gt;Independent HA Firewalls&lt;/h1&gt;&#xA;&lt;p&gt;If I have to deploy Active-Standby Firewalls, Cisco recommends to deploy them as independent HA firewalls in the ACI sites (i.e. not across the intersite link)&lt;/p&gt;</description>
    </item>
    <item>
      <title>ACI L4-7 Service Insertion of an Active-Standby Firewall in Go-To Mode in an ACI Single-Pod Design</title>
      <link>https://wassimaouadi.com/posts/acil47serviceinsertion_activestandbyfwgotospod/</link>
      <pubDate>Sat, 02 Nov 2024 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/acil47serviceinsertion_activestandbyfwgotospod/</guid>
      <description>&lt;p&gt;One concrete device per firewall &amp;ndash;&amp;gt; 2 concrete devices under the L4-7 device.&lt;/p&gt;&#xA;&lt;p&gt;If I have a two-arm firewall design: For all Concrete Devices within a L4-7 Device I must map all Concrete Interfaces of the same direction to the Cluster Interfaces ( #PersoNote symmetrical interface mapping):&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;add one Cluster Interface for the Consumer side and associate it with all Consumer-side interfaces of all [[#Concrete Device]]s,&lt;/li&gt;&#xA;&lt;li&gt;add one Cluster Interface for the Provider side and associate it with all Provider-side interfaces of all [[#Concrete Device]]s.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;If I have a one-arm firewall design: add one Cluster Interface that includes both Concrete Interfaces of the firewalls. #verifyThis&lt;/p&gt;</description>
    </item>
    <item>
      <title>ACI L4-7 Service Insertion_Failover Traffic Management</title>
      <link>https://wassimaouadi.com/posts/acil47serviceinsertion_failovertrafficmgmt/</link>
      <pubDate>Thu, 24 Oct 2024 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/acil47serviceinsertion_failovertrafficmgmt/</guid>
      <description>&lt;p&gt;Failover traffic is not managed by L4-7 Service Graphs&lt;/p&gt;&#xA;&lt;p&gt;See the document ACI Service Graph Design Guide for ACI 5.2 and Later.pdf, page=50.&lt;/p&gt;&#xA;&lt;h3 id=&#34;with-the-out-of-band-method&#34;&gt;With the &amp;lsquo;out-of-band&amp;rsquo; method&lt;/h3&gt;&#xA;&lt;p&gt;Use the dedicated firewall failover link ports and firewall stateful failover link ports, or designate some ports for that role; Failover traffic and stateful failover traffic are said to be managed &amp;lsquo;out-of-band&amp;rsquo;&lt;/p&gt;&#xA;&lt;h3 id=&#34;with-the-in-band-method&#34;&gt;With the &amp;lsquo;in-band&amp;rsquo; method&lt;/h3&gt;&#xA;&lt;p&gt;i.e. use the physical network of the data traffic for failover and stateful failover traffic too. When the firewall is attached to ACI, the physical network path of firewall traffic is the ACI fabric.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ACI Multi-Site and Active-Standby Firewall Clusters with Service Graph Redirect</title>
      <link>https://wassimaouadi.com/posts/acil47serviceinsertion_sgr_msite_as/</link>
      <pubDate>Thu, 24 Oct 2024 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/acil47serviceinsertion_sgr_msite_as/</guid>
      <description>&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Technology in Nexus Dashboard Orchestrator&lt;/th&gt;&#xA;          &lt;th&gt;Equivalent on APIC&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;define a Service Service Device Cluster&lt;/td&gt;&#xA;          &lt;td&gt;L4-7 Device, SGT&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;EPG-to-EPG PBR contract in ACI multi-site with independent HA-firewalls: I must define the BD subnet also under the consumer EPG and set the &lt;code&gt;no Gateway SVI&lt;/code&gt; flag.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Contract Enforcement vs PBR Contract Enforcement vs PBR Policy Enforcement&#xA;Contract enforcement == zoning rules are deployed to a leaf X. So leaf X takes action on the contract-matched traffic based on the deployed zoning rules. Leaf X is determined according to the Contract Policy Enforcement Locations table in the document ACI Contract Guide White Paper, page=20.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ACI L4-7 Service Insertion: Service Graph Mgmt Modes</title>
      <link>https://wassimaouadi.com/posts/acil47serviceinsertion_sgmgmtmodes/</link>
      <pubDate>Wed, 23 Oct 2024 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/acil47serviceinsertion_sgmgmtmodes/</guid>
      <description>&lt;p&gt;There are three ways to manage L4-7 services when we use service graphs. So if no service graph is inserted, we do not talk about these management modes!&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;[!Abstract]&#xA;Unless otherwise specified, when Service Graphs are mentioned, then I am referring to the Unmanaged Mode.&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;h1 id=&#34;service-graph-in-managed-mode-deprecated-concept&#34;&gt;Service Graph in Managed Mode (deprecated concept)&lt;/h1&gt;&#xA;&lt;p&gt;aka Service Policy mode: horizontal integration; requires a Device Package.&lt;/p&gt;&#xA;&lt;h2 id=&#34;device-package&#34;&gt;Device Package&lt;/h2&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://wassimaouadi.com/images/fromObsidian/aci/b00000036.png&#34; alt=&#34;sc1&#34;&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;adding-a-device-package&#34;&gt;adding a Device Package&lt;/h3&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://wassimaouadi.com/images/fromObsidian/aci/b00000023.png&#34; alt=&#34;sc2&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>ACI L4-7 Service Insertion: Service Graph with PBR</title>
      <link>https://wassimaouadi.com/posts/acil47serviceinsertion_sgr/</link>
      <pubDate>Mon, 21 Oct 2024 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/acil47serviceinsertion_sgr/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;[!TLDR] Personal Observation&#xA;I find few sources discussing standard SG and more literature discussing SGR. It seems to me that Cisco is pushing toward SG with PBR whenever a design involves L4-7 Service Devices.&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;p&gt;aka Service Graph with Policy-Based Redirect, Service Graph Redirect. I call it SGR.&#xA;One-Node SGR: Service Graph with one PBR Node.&lt;/p&gt;&#xA;&lt;h3 id=&#34;concept-of-a-multi-node-service-graph&#34;&gt;Concept of a multi-node Service Graph&lt;/h3&gt;&#xA;&lt;p&gt;the concept of node in the terms &amp;lsquo;single-node SG&amp;rsquo; or &amp;lsquo;multi-node SG&amp;rsquo; refers to the L4-7 Devices in the SG. So, the term &amp;lsquo;multi-node Service Graph&amp;rsquo; refers to a Service Graph with multiple L4-7 Devices, where each L4-7 Device could be:&lt;/p&gt;</description>
    </item>
    <item>
      <title>ACI Multi-Pod and Active-Standby Firewall in Routed Mode</title>
      <link>https://wassimaouadi.com/posts/acimultipod_activestandbyfwinroutedmode/</link>
      <pubDate>Thu, 29 Aug 2024 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/acimultipod_activestandbyfwinroutedmode/</guid>
      <description>&lt;h1 id=&#34;stretched-activestandby-firewall&#34;&gt;Stretched Active/Standby Firewall&lt;/h1&gt;&#xA;&lt;p&gt;I must define an ACI L4-7 Device with two Concrete Devices; One for the Active node and one for the Standby node.&#xA;See ACI Multi-Pod and Service Node Integration, page=5.&#xA;The active firewall is in pod A, the standby firewall is in pod B.&#xA;Support east-west and north-south traffic flows.&#xA;No risk of asymmetric traffic flows because there is only one active firewall at a time.&lt;/p&gt;&#xA;&lt;h3 id=&#34;impact-of-traffic-hair-pinning&#34;&gt;Impact of traffic hair-pinning&lt;/h3&gt;&#xA;&lt;p&gt;Hair-pinning is a sub-optimal yet not avoidable traffic pattern.&#xA;Beware of the latency impact of any hair-pinning traffic between pods due to traffic traversing the active firewall.&#xA;The worst-case occurs when:&lt;/p&gt;</description>
    </item>
    <item>
      <title>VMware vSphere Networking Concepts</title>
      <link>https://wassimaouadi.com/posts/vspherevcenterconcepts/</link>
      <pubDate>Wed, 24 Apr 2024 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/vspherevcenterconcepts/</guid>
      <description>&lt;p&gt;In VMware, a good practice is to configure ESXi hosts in a cluster, then present the LUNs to the ESXi cluster.&#xA;A VMware datastore is a LUN that has been formatted with a filesystem like VMFS.&#xA;A VMware VM can access the datastore but has no awareness of the underlying LUN or its constituing storage disks.&#xA;Any protocol that carries the SCSI Command descriptor Block (like FC, FCoE, iSCSI, SAS) uses the LUN concept.&#xA;A successor to SCSI is NVMe.&#xA;When I configure a new datastore in a vCenter datacenter, I am presented by a menu to choose a ESXi from. (sc) This is because vCenter simply does not have direct access to the storage devices; it asks that selected ESXi server (can be seen as a &amp;rsquo;temporary agent&amp;rsquo;) to access the storage devices ot its behalf, format the access storage as VMFS disks and make them available in the datastore to many ESXi hosts. This action is only required once during the configuration of the datastore. This interaction takes place on the management vmkernel of the ESXi host. Later when I attach the datastore to the ESXI hosts, they will be able to access the VMFS disks directly, and they will access the storage devices.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Cisco ACI L4-7 Service Insertion: Standard Service Graphs with Firewall in Go-To Mode</title>
      <link>https://wassimaouadi.com/posts/acil47serviceinsertion_sgrwithfwgotomode/</link>
      <pubDate>Tue, 23 Apr 2024 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/acil47serviceinsertion_sgrwithfwgotomode/</guid>
      <description>&lt;p&gt;#QA SSG with L4-7 Device in Go-To mode: in which situations do we need only layer-2 BDs attached to the Device? Layer-3 BDs? one Layer-2 and one Layer-3 BD? what is the recommended design?&#xA;Go-To mode == Routed mode&#xA;When NAT needed on the L4-7 Device: use Service Graph in Go-To mode with NAT.&#xA;another &amp;lsquo;sub-mode&amp;rsquo; is an L3Out between the L4-7 Device and ACI.&#xA;With both NAT sub-mode and L3Out sub-mode:&lt;/p&gt;</description>
    </item>
    <item>
      <title>NSX-T Concepts</title>
      <link>https://wassimaouadi.com/posts/nsxtconcepts/</link>
      <pubDate>Mon, 08 Apr 2024 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/nsxtconcepts/</guid>
      <description>&lt;p&gt;VMware NSX-T does not support VXLAN!&lt;/p&gt;&#xA;&lt;h1 id=&#34;nsx-t-segments&#34;&gt;NSX-T Segments&lt;/h1&gt;&#xA;&lt;p&gt;a VM is connected to a segment.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;is a layer-2 domain.&lt;/li&gt;&#xA;&lt;li&gt;invokes a transport zone.&lt;/li&gt;&#xA;&lt;li&gt;once the transport zone configured, you can no longer edit it later.&lt;/li&gt;&#xA;&lt;li&gt;VLAN-based segments are equivalent to VLAN IDs&lt;/li&gt;&#xA;&lt;li&gt;VLAN-based segments are not permitted to connect to Tier-0 or Tier-1 gateways.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;edge-uplink-segments&#34;&gt;Edge Uplink Segments&lt;/h3&gt;&#xA;&lt;p&gt;require VLAN transport zones.&#xA;A single Edge Uplink segment can be used more than once.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Inserting firewall packet inspection services in Cisco ACI data paths without offloading the gateway service off the fabric</title>
      <link>https://wassimaouadi.com/posts/acil47serviceinsertion_sgrwithfwnotasipdg/</link>
      <pubDate>Wed, 13 Mar 2024 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/acil47serviceinsertion_sgrwithfwnotasipdg/</guid>
      <description>&lt;h1 id=&#34;pbr-in-two-arm-design-the-pbr-node-interfaces-are-in-the-same-vrf&#34;&gt;PBR in two-arm design, the PBR Node Interfaces are in the same VRF&lt;/h1&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://wassimaouadi.com/images/01/0001_01.png&#34; alt=&#34;sc1&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;#QA In the SGR in Go-To in Two-arm design, how does IP routing on the firewall scale when we have dozens of &lt;em&gt;(Provider, Consumer)&lt;/em&gt; pairs?&#xA;#QA How cumbersome is the management of the static IP routes related to the SGR on the service device?&#xA;#QA Is BD2 the IP default gateway for &lt;em&gt;EPG Web&lt;/em&gt; endpoints?&#xA;#QA Which component takes the role of IP default gateway of the firewall: BD1 or FW-Out BD?&lt;/p&gt;</description>
    </item>
    <item>
      <title>ACI Bridge Domains</title>
      <link>https://wassimaouadi.com/posts/acibridgedomains/</link>
      <pubDate>Mon, 05 Feb 2024 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/acibridgedomains/</guid>
      <description>&lt;h1 id=&#34;bridge-domains-and-subnets&#34;&gt;Bridge Domains and Subnets&lt;/h1&gt;&#xA;&lt;p&gt;A bridge domain can be configured with an IP subnet; it is then called a layer-3 bridge domain.&#xA;The BD subnet is aka ACI internal subnet.&lt;/p&gt;&#xA;&lt;p&gt;The IP address that we configure under the bridge domain is the IP default gateway of the IP subnet.&#xA;The IP address is configured using a CIDR notation.&lt;/p&gt;&#xA;&lt;p&gt;Subnets configured under bridge domains are added to the leaf&amp;rsquo;s routing table as static routes.&lt;/p&gt;</description>
    </item>
    <item>
      <title>NX-OS boot sequence stuck in loader prompt</title>
      <link>https://wassimaouadi.com/posts/nxos9000loader/</link>
      <pubDate>Sun, 04 Feb 2024 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/nxos9000loader/</guid>
      <description>&lt;h1 id=&#34;path-in-cisco-documentation&#34;&gt;Path in Cisco Documentation&lt;/h1&gt;&#xA;&lt;p&gt;cisco.com/go/support &amp;ndash;&amp;gt; Switches &amp;ndash;&amp;gt; Nexus 9000 &amp;ndash;&amp;gt; Troubleshooting Guides &amp;ndash;&amp;gt; (select NX-OS release) &amp;ndash;&amp;gt; &amp;ldquo;Cisco Nexus 9000 Series NX-OS Troubleshooting Guide, Release &amp;hellip;&amp;rdquo; &amp;ndash;&amp;gt; Troubleshooting Installations, Upgrades and Reboots &amp;ndash;&amp;gt; Chapter Contents &amp;ndash;&amp;gt; Troubleshooting Software System Reboots &amp;ndash;&amp;gt; Recovery from the loader&amp;gt; Prompt.&lt;/p&gt;&#xA;&lt;h1 id=&#34;assumption-1-nx-os-file-in-bootflash&#34;&gt;Assumption 1: NX-OS File in Bootflash&lt;/h1&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Loader&amp;gt; dir&#xA;&amp;lt;you see for example nxos.9.3.13.bin NX-OS file in the bootflash&amp;gt;&#xA;Loader&amp;gt; boot nxos.9.3.13.bin&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The system should boot the image. When you get the normal prompt, make sure to set the bootvariable to that NX-OS image:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Operations with Python</title>
      <link>https://wassimaouadi.com/posts/automationpython/</link>
      <pubDate>Sat, 03 Feb 2024 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/automationpython/</guid>
      <description>&lt;h1 id=&#34;preparing-the-work-environment&#34;&gt;preparing the work environment&lt;/h1&gt;&#xA;&lt;p&gt;First, I have the habit of working in virtual environments. I create one and activate it:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Wassim@linux:~/private/labscripts$ python -m venv venv&#xA;Wassim@linux:~/private/labscripts$ ls&#xA;venv&#xA;Wassim@linux:~/private/labscripts$ source venv/bin/activate&#xA;((venv) ) Wassim@linux:~/private/labscripts$&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;I initially wanted to install a virtual environment for Linux and another one for Windows in the same directory. It looks like the installer failed me silently. No exe or bat files were installed. So, I deleted the &lt;em&gt;venv&lt;/em&gt; directory that I created weeks ago on my Linux machine using &lt;code&gt;rmdir /S&lt;/code&gt;, and recreated it on Windows with &lt;code&gt;python -m venv .\venv&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>SSH</title>
      <link>https://wassimaouadi.com/posts/ssh/</link>
      <pubDate>Wed, 20 Dec 2023 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/ssh/</guid>
      <description>&lt;h1 id=&#34;ssh-on-cisco-devices&#34;&gt;SSH on Cisco devices&lt;/h1&gt;&#xA;&lt;h2 id=&#34;ssh-terminal-line-access-feature&#34;&gt;SSH Terminal-Line Access Feature&lt;/h2&gt;&#xA;&lt;p&gt;replaces reverse Telnet feature that was typically configured on terminal services routers.&lt;/p&gt;&#xA;&lt;p&gt;provides secure console access for servers physically connected to a terminal services router.&lt;/p&gt;&#xA;&lt;p&gt;introduces the concept of &amp;lsquo;rotary&amp;rsquo;.&lt;/p&gt;&#xA;&lt;p&gt;Remember that each physical Async port has an associated logical line to it.&lt;/p&gt;&#xA;&lt;p&gt;Each router line (not the Async ports) must be configured with a unique rotary number.&lt;/p&gt;&#xA;&lt;p&gt;Number of rotaries == number of lines&lt;/p&gt;</description>
    </item>
    <item>
      <title>Basic MPLS L3 VPN Concepts</title>
      <link>https://wassimaouadi.com/posts/mplsl3vpn/</link>
      <pubDate>Mon, 12 Jun 2023 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/mplsl3vpn/</guid>
      <description>&lt;h1 id=&#34;vpn-advantage&#34;&gt;VPN Advantage&lt;/h1&gt;&#xA;&lt;p&gt;A VPN is a network where private network services are provided to one or more customers over a public network, Internet, or a private network. &lt;/p&gt;&#xA;&lt;p&gt;A VPN consists of one or more VPN tunnels! &lt;/p&gt;&#xA;&lt;p&gt;VPN connects sites of a same customer together.  A set of &amp;ldquo;policies&amp;rdquo; determine which sites communicate with each other and which not;  &lt;/p&gt;&#xA;&lt;p&gt;In one scenario, the customer itself defines and implements them, in collaboration with the SP. The customer may for example want to force traffic from site S1 to traverse site S2, because the latter has a firewall installation. &lt;/p&gt;</description>
    </item>
    <item>
      <title>Cisco Videosurveillance Typo</title>
      <link>https://wassimaouadi.com/posts/ciscovideosurveillancetypo/</link>
      <pubDate>Thu, 11 Dec 2014 16:11:01 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/ciscovideosurveillancetypo/</guid>
      <description>&lt;p&gt;While performing routine configuration on a Cisco router, I encountered a funny typo. Try to find it by yourself.&#xA;Hint: it&amp;rsquo;s in the last line.&#xA;&lt;img src=&#34;https://wassimaouadi.com/images/oldblog/ciscorouteriostypo.png&#34; alt=&#34;typo&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Scheduling a VMware Exam</title>
      <link>https://wassimaouadi.com/posts/schedulingvmwareexam/</link>
      <pubDate>Mon, 06 Jan 2014 16:19:15 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/schedulingvmwareexam/</guid>
      <description>&lt;p&gt;There&amp;rsquo;s an info on the Internet that says it&amp;rsquo;s possible to pass Vmware VCA certs for free. It&amp;rsquo;s been a while now and Vmware retired this offer.&lt;/p&gt;&#xA;&lt;p&gt;However, there are some folks that say they could get around and pass without spending a penny. They say it&amp;rsquo;s a matter of combining promo codes.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve been trying all the codes. Pearson Vue warned me that they&amp;rsquo;re going to shut down my account if I do another attempt.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Uploading IOS image with Cisco LMS</title>
      <link>https://wassimaouadi.com/posts/uploadiosimagewithlms/</link>
      <pubDate>Fri, 13 Dec 2013 16:33:48 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/uploadiosimagewithlms/</guid>
      <description>&lt;p&gt;In this tutorial we’ll learn :&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;How to push an IOS image into a switch flash disk, using Cisco LMS,&lt;/li&gt;&#xA;&lt;li&gt;How to verify that the IOS image has been loaded correctly&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Pushing the IOS image&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;On the LMS home page, click on the Resource Manager Essentials link.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Click on Software Distribution&#xA;&lt;img src=&#34;https://wassimaouadi.com/images/oldblog/lms01.png&#34; alt=&#34;Software Distribution&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Choose a distribution method. By default, I use “by device”. That’s the simplest one&#xA;&lt;img src=&#34;https://wassimaouadi.com/images/oldblog/lms02.png&#34; alt=&#34;Software Distribution&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Check the device for which you want to upgrade the IOS and click Next&#xA;&lt;img src=&#34;https://wassimaouadi.com/images/oldblog/lms03.png&#34; alt=&#34;Software Distribution&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>VMware Datacenter Virtualization VCA-DCV</title>
      <link>https://wassimaouadi.com/posts/vcadcv/</link>
      <pubDate>Sun, 17 Nov 2013 16:48:22 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/vcadcv/</guid>
      <description>&lt;p&gt;Today I successfully passed the exam. I got a score of 420. Alhamdulillah.&lt;/p&gt;&#xA;&lt;p&gt;How I studied for the exam: I watched the Vmware E-learning fundamental videos, took notes, reviewed them with a big mind map, then registered and sat for it. I sat studying in many small sessions.&lt;/p&gt;&#xA;&lt;p&gt;It&amp;rsquo;s great to sit for an exam and pass it from home :) it&amp;rsquo;s also great to see there are other folks out there who are sharing the same experience.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Remaining PoE on a Cisco Catalyst Switch</title>
      <link>https://wassimaouadi.com/posts/poeoncatalyst/</link>
      <pubDate>Mon, 14 Oct 2013 16:52:38 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/poeoncatalyst/</guid>
      <description>&lt;p&gt;Players: Catalyst switch with PoE support, Cisco IP phones&#xA;Script: We want to check whether there still is enough amount of PoE energy, on a Catalyst switch.&#xA;Solution: do a &amp;ldquo;show power inline&amp;rdquo;, check the &amp;ldquo;Remaining&amp;rdquo; column.&#xA;&lt;img src=&#34;https://wassimaouadi.com/images/oldblog/poecatalyst01.png&#34; alt=&#34;PoE on Catalyst&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Registering MGCP Gateways</title>
      <link>https://wassimaouadi.com/posts/registeringmgcpgw/</link>
      <pubDate>Fri, 27 Sep 2013 17:20:16 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/registeringmgcpgw/</guid>
      <description>&lt;p&gt;Situation&#xA;I tried to register my MGCP gateway to my CUCM, but everytime I did a &amp;ldquo;show ccm-manager&amp;rdquo;, it displays the following:&#xA;&lt;img src=&#34;https://wassimaouadi.com/images/oldblog/mgcp01.png&#34; alt=&#34;MGCP 1&#34;&gt;&#xA;Troubleshooting&#xA;I first thought about an issue about DNS on CUCM. I remembered that, during the CUCM installation, I put CUCM somewhere.&#xA;So I went to every corner of CUCM admin pages, where I could find the &amp;ldquo;CUCM&amp;rdquo; keyword.&#xA;I changed some settings in Entreprise Parameters. I even tried to change the hostname under the CUCM CLI mode:&#xA;&lt;img src=&#34;https://wassimaouadi.com/images/oldblog/mgcp02.png&#34; alt=&#34;MGCP 1&#34;&gt;&#xA;Then, I examined what&amp;rsquo;s happening at the router level, with &amp;ldquo;debug mgcp events&amp;rdquo;. I noticed this line:&#xA;&lt;img src=&#34;https://wassimaouadi.com/images/oldblog/mgcp03.png&#34; alt=&#34;MGCP 1&#34;&gt;&#xA;&lt;img src=&#34;https://wassimaouadi.com/images/oldblog/mgcp04.png&#34; alt=&#34;MGCP 1&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Reading List for the Cisco CIPT1 Exam</title>
      <link>https://wassimaouadi.com/posts/cipt1exam01/</link>
      <pubDate>Thu, 26 Sep 2013 17:14:44 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/cipt1exam01/</guid>
      <description>&lt;p&gt;Studying for Cisco certifications not enough with only official Cisco Press books. We got to supplement our reading with other documents.&#xA;for CIP1 exam, I decided to heavily rely on reading from the screen. Why? because a network engineer does not often have the luxury to print all the documents he works with.&lt;/p&gt;&#xA;&lt;p&gt;Documents I&amp;rsquo;m reading to supplement my CIPT1 studies:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;IOS 15.2M&amp;amp;T configuration guides&lt;/li&gt;&#xA;&lt;li&gt;Configuring H.323 gateways&lt;/li&gt;&#xA;&lt;li&gt;Cisco Unified Communications Manager Session Management Edition Deployment Guide Release 8.x, page 13&lt;/li&gt;&#xA;&lt;li&gt;H.323 Slow Start and Fast Start&lt;/li&gt;&#xA;&lt;li&gt;Cisco IOS Voice Command Reference, S Commands&lt;/li&gt;&#xA;&lt;li&gt;Media Termination Points&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Cisco CIPT1 Student Guide</title>
      <link>https://wassimaouadi.com/posts/cipt1sg/</link>
      <pubDate>Thu, 26 Sep 2013 17:09:47 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/cipt1sg/</guid>
      <description>&lt;p&gt;For example, let&amp;rsquo;s take Call Survivability.&#xA;In the Student Guide, it says that call survivability is maintaining the RTP stream between two IP endpoints when the CUCM fails. However, the foundation Guide and I agree that call survivability involves TDM-to-IP-calls too.&lt;/p&gt;&#xA;&lt;p&gt;Another exemple: does MGCP support call survivability? the Student Guide says no. Maybe it was supported in a later release, you&amp;rsquo;ll probably say. Read the following line:&#xA;&amp;ldquo;Media Gateway Control Protocol has supported call survivability (call preservation) since it was introduced on the gateway routers, but H.323 gateways did not support this feature until Cisco IOS 12.4(9T)&amp;rdquo;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>CUCM, VMware and GNS3</title>
      <link>https://wassimaouadi.com/posts/cucmvmwaregns3/</link>
      <pubDate>Thu, 19 Sep 2013 19:13:12 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/cucmvmwaregns3/</guid>
      <description>&lt;p&gt;I found some interesting blogs about this topic:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://davidecisco.blogspot.com/2012/03/connecting-h323-router-on-gns3-with.html&#34;&gt;davidecisco blog&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://ciscoshizzle.blogspot.com/2012/06/cisco-voice-lab-using-gns3.html&#34;&gt;ciscoshizzle blog&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://forum.gns3.net/topic1139.html&#34;&gt;gns3 website&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://pubs.vmware.com/workstation-9/index.jsp#com.vmware.ws.using.doc/GUID-93BDF7F1-D2E4-42CE-80EA-4E305337D2FC.html&#34;&gt;Host-only/Bridged Vmware networking&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Notes:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Router IOS should support voice. I&amp;rsquo;m using 12.4 Advanced Entreprise IOS version,&lt;/li&gt;&#xA;&lt;li&gt;Vmware network adapter: set to &amp;ldquo;host only&amp;rdquo; mode. Remember that during the installation of CUCM on Vmware, we set the network adapter to &amp;ldquo;bridged&amp;rdquo;, so it can connect to Internet and contact an NTP server,&lt;/li&gt;&#xA;&lt;li&gt;After adding the cloud component in GNS3, you may find that no adapter is seen under NIO Ethernet. GNS3 mentions that it needs &amp;ldquo;Administrator or root access&amp;rdquo;.&#xA;Solution:&#xA;close GNS3, right click and choose &amp;ldquo;run as administrator&amp;rdquo;. Then you&amp;rsquo;ll see the list of adapters under NIO Ethernet.&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Install CUCM on VMware</title>
      <link>https://wassimaouadi.com/posts/installcucmonvmware/</link>
      <pubDate>Tue, 17 Sep 2013 20:36:48 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/installcucmonvmware/</guid>
      <description>&lt;p&gt;I struggled a couple of weeks before I came across a &lt;a href=&#34;https://twopacket.zymichost.com/2011/05/19/how-to-install-cucm-8-0-in-vmware.html&#34;&gt;great post&lt;/a&gt; about installing CUCM on a vmware workstation. I needed this for CIPT1 labs.&lt;/p&gt;&#xA;&lt;p&gt;Strangely, the website has been taken down due to a hacking attempt.&lt;/p&gt;&#xA;&lt;p&gt;Well, everything seemed to work fine until the NTP configuration step. Here, I&amp;rsquo;ve discovered that , when configuring NTP server, make sure your guest machine can connect to the internet and check the public NTP server.&#xA;So if you have a computer firewall, disable it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Reload Your Cisco Router While Asleep</title>
      <link>https://wassimaouadi.com/posts/reloadingciscorouter/</link>
      <pubDate>Sat, 14 Sep 2013 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/reloadingciscorouter/</guid>
      <description>&lt;p&gt;There are times when you want to schedule a router reload, but you don&amp;rsquo;t want to stay late or come to the office during weekends. &amp;ldquo;Reload at&amp;rdquo; is your friend.&lt;/p&gt;&#xA;&lt;h1 id=&#34;how-to-reload-your-router-at-a-predefined-time&#34;&gt;How to reload your router at a predefined time&lt;/h1&gt;&#xA;&lt;p&gt;You want to reload your router (or switch) at 7pm, but at the same time, you&amp;rsquo;ll be having a coffee with your friend and you don&amp;rsquo;t want to have this discussion:&#xA;&amp;ldquo;- Sorry guys, I have a router to reboot. I&amp;rsquo;ll be back in 30mn.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Managing Endpoints and Endusers with CME</title>
      <link>https://wassimaouadi.com/posts/endpointsenduserscme/</link>
      <pubDate>Sun, 27 Jan 2013 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/endpointsenduserscme/</guid>
      <description>&lt;p&gt;Preparing router to act as a CME:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;configure ip address on interface.&#xA;&lt;img src=&#34;https://wassimaouadi.com/images/oldblog/ephone0117-09-59.png&#34; alt=&#34;sc1&#34;&gt;&lt;/li&gt;&#xA;&lt;li&gt;Configure the source address, the IP address to which ip phones will register:&#xA;&lt;img src=&#34;https://wassimaouadi.com/images/oldblog/ephone0217-10-20.png&#34; alt=&#34;sc2&#34;&gt;&lt;/li&gt;&#xA;&lt;li&gt;specify the maximum number of phones that CME can handle. This will affect the router performance:&#xA;&lt;img src=&#34;https://wassimaouadi.com/images/oldblog/ephone0317-10-27.png&#34; alt=&#34;sc3&#34;&gt;&lt;/li&gt;&#xA;&lt;li&gt;configure the maximum number of ephone-dns:&#xA;&lt;img src=&#34;https://wassimaouadi.com/images/oldblog/ephone0417-10-33.png&#34; alt=&#34;sc4&#34;&gt;&#xA;Later, I will change these values because my router lacked memory resources.&#xA;To verify the aforementioned settings:&#xA;&lt;img src=&#34;https://wassimaouadi.com/images/oldblog/ephone0517-10-42.png&#34; alt=&#34;sc5&#34;&gt;&#xA;Let&amp;rsquo;s create our first ephone-dn:&#xA;&lt;img src=&#34;https://wassimaouadi.com/images/oldblog/ephone0617-10-50.png&#34; alt=&#34;sc6&#34;&gt;&#xA;&lt;img src=&#34;https://wassimaouadi.com/images/oldblog/ephone0717-11-03.png&#34; alt=&#34;sc7&#34;&gt;&#xA;&lt;img src=&#34;https://wassimaouadi.com/images/oldblog/ephone0817-11-09.png&#34; alt=&#34;sc8&#34;&gt;&#xA;At this point, my router displayed an error message indicating a lack of memory. I increased its memory size in GNS3:&#xA;&lt;img src=&#34;https://wassimaouadi.com/images/oldblog/ephone0917-11-14.png&#34; alt=&#34;sc9&#34;&gt;&#xA;After a reload, things went ok&#xA;I also reduced the max-ephone and max-dn values:&#xA;&lt;img src=&#34;https://wassimaouadi.com/images/oldblog/ephone1017-11-19.png&#34; alt=&#34;sc10&#34;&gt;&#xA;Now we can add ephone-dns without problems:&#xA;&lt;img src=&#34;https://wassimaouadi.com/images/oldblog/ephone1117-11-25.png&#34; alt=&#34;sc11&#34;&gt;&#xA;When I create a dual-line ephone-dn, two &amp;ldquo;sub-ephone-dn&amp;rdquo; are created:&#xA;&lt;img src=&#34;https://wassimaouadi.com/images/oldblog/ephone1217-11-30.png&#34; alt=&#34;sc12&#34;&gt;&#xA;To verify ephone-dns:&#xA;&lt;img src=&#34;https://wassimaouadi.com/images/oldblog/ephone1317-11-40.png&#34; alt=&#34;sc13&#34;&gt;&#xA;another way to verify it:&#xA;&lt;img src=&#34;https://wassimaouadi.com/images/oldblog/ephone1417-11-44.png&#34; alt=&#34;sc14&#34;&gt;&#xA;Notice that there are two channels for ephone-dn 2, which is a dual-line ephone-dn.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Adding a secondary line to a dual-line ephone-dn:&#xA;&lt;img src=&#34;https://wassimaouadi.com/images/oldblog/ephone1517-11-57.png&#34; alt=&#34;sc15&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Cisco Switching Notes</title>
      <link>https://wassimaouadi.com/posts/ciscoswitchingnotes/</link>
      <pubDate>Thu, 09 Feb 2012 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/ciscoswitchingnotes/</guid>
      <description>&lt;ul&gt;&#xA;&lt;li&gt;a 3750 can act as a layer3 switch by adding the &amp;ldquo;ip routing&amp;rdquo; command.&lt;/li&gt;&#xA;&lt;li&gt;It can automatically route between locally created vlans because it considers them as connected interfaces (given that the SVIs are created).&lt;/li&gt;&#xA;&lt;li&gt;on a device, there are 3 types of traffic: control, management, end user.&lt;/li&gt;&#xA;&lt;li&gt;Control traffic such as CDP, DTP, PAgP goes through vlan1 between Cisco switches, even if you clear it from trunks.&lt;/li&gt;&#xA;&lt;li&gt;By default, native vlan traffic is untagged. But there&amp;rsquo;s a Cisco command that tells the switch to tag all vlans.&lt;/li&gt;&#xA;&lt;li&gt;by default, native vlan = vlan1. If we set the native vlan to vlan100, then vlan100 frames will be untagged on trunks, and vlan1 frames will be tagged.&lt;/li&gt;&#xA;&lt;li&gt;SMI: Standard Multilayer Image&lt;/li&gt;&#xA;&lt;li&gt;EMI: Enhanced Multilayer Image&lt;/li&gt;&#xA;&lt;li&gt;if switch is acting L2, then we should set a Default Gateway on it to make the management vlan reachable remote ; if it is acting L3, it will have routes instead.&lt;/li&gt;&#xA;&lt;li&gt;switch and Management vlan&lt;/li&gt;&#xA;&lt;li&gt;the management IP address must be reachable from remote&lt;/li&gt;&#xA;&lt;li&gt;best practice: use a same subnet to manage all network devices&lt;/li&gt;&#xA;&lt;li&gt;on L2 SW: only one SVI is up at a time&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Cisco Auto Qos Configuration</title>
      <link>https://wassimaouadi.com/posts/ciscoautoqos/</link>
      <pubDate>Mon, 08 Aug 2011 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/ciscoautoqos/</guid>
      <description>&lt;p&gt;First, let&amp;rsquo;s see if QoS is enabled on the switch:&#xA;&lt;img src=&#34;https://wassimaouadi.com/images/oldblog/ciscoautoqos01.png&#34; alt=&#34;autoqos01&#34;&gt;&#xA;QoS is disabled. We should enable it on global configuration level:&#xA;&lt;img src=&#34;https://wassimaouadi.com/images/oldblog/ciscoautoqos02.png&#34; alt=&#34;autoqos02&#34;&gt;&#xA;If we want to display QoS settings for an interface, we do a show mls qos interface command:&#xA;&lt;img src=&#34;https://wassimaouadi.com/images/oldblog/ciscoautoqos03.png&#34; alt=&#34;autoqos03&#34;&gt;&#xA;At this stage we still did not define trust boundaries. That&amp;rsquo;s why Trust State and Trust Mode say &amp;ldquo;not trusted&amp;rdquo;. And we did not specify whether we&amp;rsquo;ll trust a device or not.&#xA;To define trust boundary with auto-qos, we either trust all CoS values coming on the switch interface or we trust CoS values only if an ip phone is connected to the switch port.&#xA;With auto qos voip trust, we tell the switch to trust CoS on each packet coming on the switch interface:&#xA;&lt;img src=&#34;https://wassimaouadi.com/images/oldblog/ciscoautoqos04.png&#34; alt=&#34;autoqos04&#34;&gt;&#xA;If we want to further limit trust boundary, we can tell the switch to trust CoS values only if a Cisco ip phone is detected on the port:&#xA;&lt;img src=&#34;https://wassimaouadi.com/images/oldblog/ciscoautoqos05.png&#34; alt=&#34;autoqos05&#34;&gt;&#xA;Finally, on a 3550 switch, show auto qos and show auto qos interface give the same output:&#xA;&lt;img src=&#34;https://wassimaouadi.com/images/oldblog/ciscoautoqos06.png&#34; alt=&#34;autoqos06&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>TSHOOT Exam Strategy Notes</title>
      <link>https://wassimaouadi.com/posts/tshootstrategies/</link>
      <pubDate>Sun, 22 May 2011 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/tshootstrategies/</guid>
      <description>&lt;p&gt;I gathered these notes to mentally prepare my Troubleshooting methodology on the exam day:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Follow the path&lt;/li&gt;&#xA;&lt;li&gt;divide and conquer&lt;/li&gt;&#xA;&lt;li&gt;Move the problem&lt;/li&gt;&#xA;&lt;li&gt;Bottom up&lt;/li&gt;&#xA;&lt;li&gt;Top down&#xA;After watching Kevin Wallace Bull&amp;rsquo;s Eye videos and INE Tshoot Exam Demo video, the best method is to use a combination of Divide and Conquer-Bottom up/Top Down-Follow the path. There&amp;rsquo;s not really one single method that will lead to finding where the problem lies.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;This is a collection of possible troubleshooting tips I collected over my studies. They are organized by OSI layer:&lt;/p&gt;</description>
    </item>
    <item>
      <title>IPSec VPN Notes</title>
      <link>https://wassimaouadi.com/posts/ipsecvpnnotes/</link>
      <pubDate>Fri, 06 May 2011 21:51:08 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/ipsecvpnnotes/</guid>
      <description>&lt;p&gt;Steps to create IPSEC VPN:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;define ISAKMP Policies&lt;/li&gt;&#xA;&lt;li&gt;define ISAKMP preshared key (if authentication method is Pre-share)&lt;/li&gt;&#xA;&lt;li&gt;define IPSEC Transform Sets&lt;/li&gt;&#xA;&lt;li&gt;define IPSEC security associations&lt;/li&gt;&#xA;&lt;li&gt;define interesting traffic through Proxy Identity (or crypto ACL)&lt;/li&gt;&#xA;&lt;li&gt;link crypto ACL and IPSEC TS with a Crypto Map&lt;/li&gt;&#xA;&lt;li&gt;put the crypto map under the Internet-facing interface&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;configuring IPSEC VPN between R2 and R3&#xA;There was a problem at first. Debug command helped see the error:&#xA;&lt;img src=&#34;https://wassimaouadi.com/images/oldblog/debugcryptoipsec.png&#34; alt=&#34;debug crypto ipsec&#34;&gt;&#xA;We look back at the configuration on both R2 and R3 and discover that &amp;ldquo;set transform-set&amp;rdquo; is missing on R3:&#xA;&lt;img src=&#34;https://wassimaouadi.com/images/oldblog/cryptomap.png&#34; alt=&#34;crypto map&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Dot1x and AAA Notes</title>
      <link>https://wassimaouadi.com/posts/dot1xaaa/</link>
      <pubDate>Fri, 06 May 2011 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/dot1xaaa/</guid>
      <description>&lt;p&gt;dot1x&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;dot1x can work with DHCP address assignment&lt;/li&gt;&#xA;&lt;li&gt;only EAPOL is allowed before a port is authorized&lt;/li&gt;&#xA;&lt;li&gt;Vlan Assignment (by a RADIUS server) depends on the result of dot1x authentication&lt;/li&gt;&#xA;&lt;li&gt;RADIUS server- the dot1x authentication server- is the one which verifies the identity of the client connected to a dot1x port&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;AAA&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;there are named method lists (simply method lists)&lt;/li&gt;&#xA;&lt;li&gt;once AAA is enabled, the default method list is applied to console, VTY access, enable mode&amp;hellip;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Loop Guard on Cisco IOS</title>
      <link>https://wassimaouadi.com/posts/ciscoloopguard/</link>
      <pubDate>Sun, 19 Sep 2010 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/ciscoloopguard/</guid>
      <description>&lt;p&gt;Enabling Loop Guard on an interface level does not enable it for the whole system. In fact, a &amp;ldquo;show spanning-tree summary total&amp;rdquo; is a bit misleading in this case.&lt;/p&gt;&#xA;&lt;p&gt;To configure loop guard on an interface:&#xA;&lt;img src=&#34;https://wassimaouadi.com/images/oldblog/ciscoloopguard01.png&#34; alt=&#34;sc1&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&amp;ldquo;loop guard default&amp;rdquo; is disabled because we haven&amp;rsquo;t issued a &amp;ldquo;spanning-tree loopguard default&amp;rdquo;. Easy:&#xA;&lt;img src=&#34;https://wassimaouadi.com/images/oldblog/ciscoloopguard02.png&#34; alt=&#34;sc2&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>QoS Configuration and Verification on Cisco IOS</title>
      <link>https://wassimaouadi.com/posts/ciscoqos/</link>
      <pubDate>Fri, 10 Sep 2010 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/ciscoqos/</guid>
      <description>&lt;p&gt;verify that QoS is enabled:&#xA;&lt;img src=&#34;https://wassimaouadi.com/images/oldblog/ciscoqos01.jpg&#34; alt=&#34;sc1&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Enable QoS:&#xA;&lt;img src=&#34;https://wassimaouadi.com/images/oldblog/ciscoqos02.jpg&#34; alt=&#34;sc2&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;At this stage, all interfaces are by default untrusted. This means that any frame with a priority value will be remarked as CoS/IP Precedence/DSCP value = 0.&lt;/p&gt;&#xA;&lt;p&gt;Trust CoS values of incoming frames. Useful for trunks:&#xA;&lt;img src=&#34;https://wassimaouadi.com/images/oldblog/ciscoqos03.jpg&#34; alt=&#34;sc3&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Trust CoS values only if an attached Cisco ip phone exists (conditional trust):&#xA;&lt;img src=&#34;https://wassimaouadi.com/images/oldblog/ciscoqos04.jpg&#34; alt=&#34;sc4&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;At this stage, the trust boundary moves to the IP phone. Any priority value of any attached PC frames is untrused, thus remarked with priority 0.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Multicast PIM-SM</title>
      <link>https://wassimaouadi.com/posts/multicastpimsm/</link>
      <pubDate>Fri, 21 Aug 2009 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/multicastpimsm/</guid>
      <description>&lt;p&gt;PIM-SM requires the following components: a Rendez-vous Point, shared trees, source trees.&lt;/p&gt;&#xA;&lt;h1 id=&#34;pim-register-and-register-stop-messages&#34;&gt;PIM Register and Register Stop messages &lt;/h1&gt;&#xA;&lt;p&gt;PIM register messages are sent by a PIM router to the Rendez-vous Point when it [the PIM router] receives multicast traffic from a streaming source. &lt;/p&gt;&#xA;&lt;p&gt;PIM RP sends a PIM register stop message to signal to the PIM router that it [the RP] has received the PIM register message.&lt;/p&gt;&#xA;&lt;h1 id=&#34;incoming-interfaces-vs-outgoing-interface-list&#34;&gt;Incoming Interfaces vs Outgoing Interface List&lt;/h1&gt;&#xA;&lt;h3 id=&#34;incoming-interface&#34;&gt;Incoming Interface&lt;/h3&gt;&#xA;&lt;p&gt;The PIM router&amp;rsquo;s interface that receives – or is supposed to receive – multicast traffic from the multicast source.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Introduction to multicast communication</title>
      <link>https://wassimaouadi.com/posts/multicast/</link>
      <pubDate>Thu, 20 Aug 2009 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/multicast/</guid>
      <description>&lt;h1 id=&#34;reminder-of-the-communication-models&#34;&gt;Reminder Of The Communication Models&lt;/h1&gt;&#xA;&lt;p&gt;client/server&#xA;behind-NAT devices&#xA;Point-to-point&#xA;Hybrid&#xA;Unicast&#xA;Multicast&lt;/p&gt;&#xA;&lt;h1 id=&#34;multicast-concepts&#34;&gt;Multicast concepts&lt;/h1&gt;&#xA;&lt;p&gt;Multicast clients must join multicast groups in order to receive multicast traffic.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;IP host: an IP endpoint that is connected to a multicast router.&lt;/li&gt;&#xA;&lt;li&gt;Multicast router: a router that supports multicast protocols such as PIM and IGMP.&lt;/li&gt;&#xA;&lt;li&gt;upstream router&lt;/li&gt;&#xA;&lt;li&gt;downstream router&lt;/li&gt;&#xA;&lt;li&gt;multicast group&lt;/li&gt;&#xA;&lt;li&gt;nulticast (source, group) pair&lt;/li&gt;&#xA;&lt;li&gt;multicast group membership&lt;/li&gt;&#xA;&lt;li&gt;interested node&lt;/li&gt;&#xA;&lt;li&gt;Host Membership Query&lt;/li&gt;&#xA;&lt;li&gt;Host Membership Query&lt;/li&gt;&#xA;&lt;li&gt;Host Membership Report&lt;/li&gt;&#xA;&lt;li&gt;random report delay timer&lt;/li&gt;&#xA;&lt;li&gt;shared tree&lt;/li&gt;&#xA;&lt;li&gt;source-rooted spanning tree&lt;/li&gt;&#xA;&lt;li&gt;Multicast Distribution Tree&lt;/li&gt;&#xA;&lt;li&gt;parent link&lt;/li&gt;&#xA;&lt;li&gt;child link&lt;/li&gt;&#xA;&lt;li&gt;active branches&lt;/li&gt;&#xA;&lt;li&gt;multicast leaf router: is connected to leaf sub-networks&lt;/li&gt;&#xA;&lt;li&gt;Leaf sub-network: some have group members, some do not.&lt;/li&gt;&#xA;&lt;li&gt;DVMRP&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;advantages-of-multicast-communication&#34;&gt;Advantages of Multicast Communication&lt;/h1&gt;&#xA;&lt;p&gt;Routers process one packet instead of many (in case of multiple unicast transmissions)&#xA;Routers do not have to determine the destination address to send the packet to, in contrast to unicast transmission.&#xA;Reduced usage of resources: router CPU and memory, network bandwidth.&lt;/p&gt;</description>
    </item>
    <item>
      <title>HSRP Interface Tracking</title>
      <link>https://wassimaouadi.com/posts/hsrpinterfacetracking/</link>
      <pubDate>Sun, 16 Aug 2009 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/hsrpinterfacetracking/</guid>
      <description>&lt;p&gt;In this lab, I learned the following:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;configuring a HSRP group on physical interfaces,&lt;/li&gt;&#xA;&lt;li&gt;testing how a PC can reach a remote subnet through a redundant gateway, by configuring its default gateway as the HSRP virtual address,&lt;/li&gt;&#xA;&lt;li&gt;testing how the second router becomes Active,&lt;/li&gt;&#xA;&lt;li&gt;testing interface tracking.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;For interface tracking, at first, I thought there was a problem with the lab.&#xA;Topology:&#xA;&lt;img src=&#34;https://wassimaouadi.com/images/oldblog/hsrpIntTracking01.jpg&#34; alt=&#34;sc1&#34;&gt;&#xA;configure interface tracking and a decrement value:&#xA;&lt;img src=&#34;https://wassimaouadi.com/images/oldblog/hsrpIntTracking02.jpg&#34; alt=&#34;sc2&#34;&gt;&#xA;When I shut down ser0/0 on R2, I expected R2 to become Standby router. But reality bites:&#xA;&lt;img src=&#34;https://wassimaouadi.com/images/oldblog/hsrpIntTracking03.jpg&#34; alt=&#34;sc3&#34;&gt;&#xA;Then I checked on R3. R3 is still Standby, not Active !&#xA;&lt;img src=&#34;https://wassimaouadi.com/images/oldblog/hsrpIntTracking04.jpg&#34; alt=&#34;sc4&#34;&gt;&#xA;So what&amp;rsquo;s wrong? Here&amp;rsquo;s what Cisco says:&#xA;How Object Tracking Affects the Priority of an HSRP Router&lt;/p&gt;</description>
    </item>
    <item>
      <title>Cisco BSCI Exam</title>
      <link>https://wassimaouadi.com/posts/bsciexam2ndtry/</link>
      <pubDate>Fri, 27 Feb 2009 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/posts/bsciexam2ndtry/</guid>
      <description>&lt;p&gt;Score is 822. Passing score was 790. It came after four days of reviewing IPv6, Route maps, BGP,&amp;hellip;&#xA;In the beginning of the test I was taking enough time to read and answer the questions. However I lost much time in my first lab simulation. The scenarion wasn&amp;rsquo;t clear to me. And each time I had to click on the console button to reach a router. And I was not seeing changes in the routing table so it confused me a lot.&#xA;I began to worry about my score.&#xA;And I got my second lab simulation. And immediately after, the third. I told to myself: &amp;ldquo;man, what did I do to Cisco to treat me this way?&amp;rdquo;&#xA;So I had almost 38 minutes to do the third lab sim and 32 questions !&#xA;Besides, the test supervisor was tearing papers on her desk. And the other guy in the room was complaining about the bug in his exam. I was going to scream.&#xA;At the end, I was almost flipping through the questions.&#xA;I finished the test. The test supervisor told me &amp;ldquo;congratulations!&amp;rdquo;.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
