<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Syed Ibrahim</title>
    <description>The latest articles on DEV Community by Syed Ibrahim (@ibrahim_s).</description>
    <link>https://dev.to/ibrahim_s</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F441767%2F25cb3b14-59b8-410b-b3b2-1fb0aba883bd.jpeg</url>
      <title>DEV Community: Syed Ibrahim</title>
      <link>https://dev.to/ibrahim_s</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ibrahim_s"/>
    <language>en</language>
    <item>
      <title>Installing FRR</title>
      <dc:creator>Syed Ibrahim</dc:creator>
      <pubDate>Fri, 19 Mar 2021 15:02:58 +0000</pubDate>
      <link>https://dev.to/ibrahim_s/installing-frr-5a7a</link>
      <guid>https://dev.to/ibrahim_s/installing-frr-5a7a</guid>
      <description>&lt;p&gt;FRRouting (FRR) is an IP routing protocol suite for Linux and Unix platforms. It includes protocol daemons for BGP, IS-IS, LDP, OSPF, PIM, and RIP.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Since the FRR project was forked from Quagga, another routing protocol suite for Linux, FRR includes the fundamentals that made Quagga so popular as well as many other enhancements.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In this blogpost we will focus on how to install FRR on Debian based OS (such as Ubuntu) and on CentOS.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxg09dcfuihte625z16yj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxg09dcfuihte625z16yj.png" alt="via https://docs.cumulusnetworks.com/cumulus-linux-41/Layer-3/FRRouting-Overview/"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Installing on Ubuntu ( and other Debian based OS):
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
&lt;h1&gt;
  
  
  add GPG key
&lt;/h1&gt;

&lt;p&gt;curl -s &lt;a href="https://deb.frrouting.org/frr/keys.asc" rel="noopener noreferrer"&gt;https://deb.frrouting.org/frr/keys.asc&lt;/a&gt; | sudo apt-key add -&lt;/p&gt;
&lt;h1&gt;
  
  
  possible values for FRRVER: frr-6 frr-7 frr-stable
&lt;/h1&gt;
&lt;h1&gt;
  
  
  frr-stable will be the latest official stable release
&lt;/h1&gt;

&lt;p&gt;FRRVER="frr-stable"&lt;br&gt;
echo deb &lt;a href="https://deb.frrouting.org/frr" rel="noopener noreferrer"&gt;https://deb.frrouting.org/frr&lt;/a&gt; $(lsb_release -s -c) $FRRVER | sudo tee -a /etc/apt/sources.list.d/frr.list&lt;/p&gt;
&lt;h1&gt;
  
  
  update and install FRR
&lt;/h1&gt;

&lt;p&gt;sudo apt update &amp;amp;&amp;amp; sudo apt install frr frr-pythontools&lt;/p&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h3&gt;
&lt;br&gt;
  &lt;br&gt;
  &lt;br&gt;
  Installing in CentOS:&lt;br&gt;
&lt;/h3&gt;
&lt;br&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
&lt;h1&gt;
  
  
  possible values for FRRVER: frr-6 frr-7 frr-stable
&lt;/h1&gt;
&lt;h1&gt;
  
  
  frr-stable will be the latest official stable release
&lt;/h1&gt;

&lt;p&gt;FRRVER="frr-stable"&lt;/p&gt;
&lt;h1&gt;
  
  
  add RPM repository on CentOS 6
&lt;/h1&gt;

&lt;p&gt;curl -O &lt;a href="https://rpm.frrouting.org/repo/$FRRVER-repo-1-0.el6.noarch.rpm" rel="noopener noreferrer"&gt;https://rpm.frrouting.org/repo/$FRRVER-repo-1-0.el6.noarch.rpm&lt;/a&gt;&lt;br&gt;
sudo yum install ./$FRRVER*&lt;/p&gt;
&lt;h1&gt;
  
  
  add RPM repository on CentOS 7
&lt;/h1&gt;

&lt;p&gt;curl -O &lt;a href="https://rpm.frrouting.org/repo/$FRRVER-repo-1-0.el7.noarch.rpm" rel="noopener noreferrer"&gt;https://rpm.frrouting.org/repo/$FRRVER-repo-1-0.el7.noarch.rpm&lt;/a&gt;&lt;br&gt;
sudo yum install ./$FRRVER*&lt;/p&gt;
&lt;h1&gt;
  
  
  add RPM repository on CentOS 8
&lt;/h1&gt;

&lt;p&gt;curl -O &lt;a href="https://rpm.frrouting.org/repo/$FRRVER-repo-1-0.el8.noarch.rpm" rel="noopener noreferrer"&gt;https://rpm.frrouting.org/repo/$FRRVER-repo-1-0.el8.noarch.rpm&lt;/a&gt;&lt;br&gt;
sudo yum install ./$FRRVER*&lt;/p&gt;
&lt;h1&gt;
  
  
  install FRR
&lt;/h1&gt;

&lt;p&gt;sudo yum install frr frr-pythontools&lt;/p&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h3&gt;
&lt;br&gt;
  &lt;br&gt;
  &lt;br&gt;
  Configuring FRR for the first time&lt;br&gt;
&lt;/h3&gt;

&lt;h5&gt;
  
  
  Enable IP forwarding
&lt;/h5&gt;

&lt;p&gt;There are several kernel parameters that impact overall operation of FRR when using Linux as a router. Generally these parameters should be set in a sysctl related configuration file, e.g., /etc/sysctl.conf on Ubuntu based systems and a new file /etc/sysctl.d/90-routing-sysctl.conf on Centos based systems. &lt;/p&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

&lt;p&gt;net.ipv4.conf.all.forwarding=1&lt;br&gt;
net.ipv6.conf.all.forwarding=1&lt;/p&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h5&gt;
&lt;br&gt;
  &lt;br&gt;
  &lt;br&gt;
  Enable BGPD daemon&lt;br&gt;
&lt;/h5&gt;

&lt;p&gt;After a fresh install, starting FRR will do nothing. This is because daemons must be explicitly enabled by editing a file in your configuration directory. This file is usually located at /etc/frr/daemons and determines which daemons are activated when issuing a service start / stop command via init or systemd. To enable a particular daemon, simply change the corresponding ‘no’ to ‘yes’. Subsequent service restarts should start the daemon.&lt;/p&gt;

&lt;p&gt;To enable bpd daemon, in &lt;em&gt;/etc/frr/daemons&lt;/em&gt; change &lt;em&gt;bgpd=no&lt;/em&gt; to &lt;/p&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

&lt;p&gt;bgpd=yes&lt;/p&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h5&gt;
&lt;br&gt;
  &lt;br&gt;
  &lt;br&gt;
  Restart and enable FRR&lt;br&gt;
&lt;/h5&gt;

&lt;p&gt;Once you have enabled daemon, now restart FRR and enable FRR systemd service to start at boot using following commands.&lt;/p&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

&lt;p&gt;systemctl restart frr.service&lt;br&gt;
systemctl enable frr.service&lt;/p&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h3&gt;
&lt;br&gt;
  &lt;br&gt;
  &lt;br&gt;
  Links for reference:&lt;br&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://frrouting.org" rel="noopener noreferrer"&gt;frrouting.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://cumulusnetworks.com/learn/frrouting/" rel="noopener noreferrer"&gt;Learn Frrouting - Cumulus&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.frrouting.org/_/downloads/en/latest/pdf/" rel="noopener noreferrer"&gt;FRR User Manual&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/FRRouting/frr/releases" rel="noopener noreferrer"&gt;FRR Releases&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.cumulusnetworks.com/cumulus-linux-41/Layer-3/FRRouting-Overview/" rel="noopener noreferrer"&gt;FRR Overview - Cumulus&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h5&gt;
  
  
  Image Source:
&lt;/h5&gt;

&lt;p&gt;&lt;a href="https://docs.cumulusnetworks.com/cumulus-linux-41/Layer-3/FRRouting-Overview/" rel="noopener noreferrer"&gt;https://docs.cumulusnetworks.com/cumulus-linux-41/Layer-3/FRRouting-Overview/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>bgp</category>
      <category>network</category>
      <category>ospf</category>
    </item>
    <item>
      <title>iTerm2 + Oh My Zsh + Dracula theme + Plugins</title>
      <dc:creator>Syed Ibrahim</dc:creator>
      <pubDate>Wed, 23 Sep 2020 13:47:56 +0000</pubDate>
      <link>https://dev.to/ibrahim_s/iterm2-oh-my-zsh-dracula-theme-plugins-2f9e</link>
      <guid>https://dev.to/ibrahim_s/iterm2-oh-my-zsh-dracula-theme-plugins-2f9e</guid>
      <description>&lt;h1&gt;
  
  
  &lt;strong&gt;iTerm2 and Oh-my-zsh&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;Download iTerm2&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Download iTerm2 for MacOs from &lt;a href="https://iterm2.com/downloads.html" rel="noopener noreferrer"&gt;here &lt;/a&gt;
&lt;/li&gt;
&lt;li&gt; After downloading, drag and drop iTerm2 file to your Application folder.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Install oh-my-zsh&lt;/strong&gt;&lt;br&gt;
Open iTerm2 and run the following curl command which will install oh-my-zsh and replace default terminal with zsh.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Dracula Theme&lt;/strong&gt;&lt;br&gt;
You can install using git:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git clone https://github.com/dracula/iterm.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Activating theme&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;em&gt;iTerm2 &amp;gt; Preferences &amp;gt; Profiles &amp;gt; Colors Tab&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt; Open the  &lt;em&gt;Color Presets...&lt;/em&gt;  drop-down in the bottom right corner&lt;/li&gt;
&lt;li&gt; Select  &lt;em&gt;Import...&lt;/em&gt;  from the list&lt;/li&gt;
&lt;li&gt; Select the  &lt;code&gt;Dracula.itermcolors&lt;/code&gt;  file&lt;/li&gt;
&lt;li&gt; Select the  &lt;em&gt;Dracula&lt;/em&gt;  from  &lt;em&gt;Color Presets...&lt;/em&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fuser-images.githubusercontent.com%2F29995603%2F93095031-3ca7b900-f6c0-11ea-9216-ce10e7f73f14.png" class="article-body-image-wrapper"&gt;&lt;img alt="Screenshot 2020-09-14 at 7 21 48 PM" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fuser-images.githubusercontent.com%2F29995603%2F93095031-3ca7b900-f6c0-11ea-9216-ce10e7f73f14.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Enabling Plugins (zsh-autosuggestions &amp;amp; zsh-syntax-highlighting)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Download zsh-autosuggestions using&lt;/strong&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git clone https://github.com/zsh-users/zsh-autosuggestions.git $ZSH_CUSTOM/plugins/zsh-autosuggestions
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Download zsh-syntax-highlighting using&lt;/strong&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;To enable plugin, edit the ~/.zshrc file&lt;/strong&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;vi ~/.zshrc
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Find plugin using &lt;code&gt;/plugin&lt;/code&gt;  then press " i "  to enter INSERT mode and &lt;br&gt;
append zsh-autosuggestions &amp;amp; zsh-syntax-highlighting to plugins() like this&lt;/strong&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

.  
.  
.  
# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)  
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/  
# Example format: plugins=(rails git textmate ruby lighthouse)  
# Add wisely, as too many plugins slow down shell startup.  
plugins=(  
  git  
  docker  
  zsh-autosuggestions 
  zsh-syntax-highlighting
)


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Run the following command to apply the changes&lt;/strong&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

source ~/.zshrc


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fuser-images.githubusercontent.com%2F29995603%2F93095188-6f51b180-f6c0-11ea-9ce1-ca8627cf084c.png" class="article-body-image-wrapper"&gt;&lt;img alt="Screenshot 2020-09-14 at 7 22 06 PM" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fuser-images.githubusercontent.com%2F29995603%2F93095188-6f51b180-f6c0-11ea-9ce1-ca8627cf084c.png"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
