Difference between revisions of "Dummy Interface"

From NST Wiki
Jump to navigationJump to search
(Removing The Linux Dummy-Network Interface)
(Removing The Linux Dummy-Network Interface)
 
(9 intermediate revisions by the same user not shown)
Line 8: Line 8:
 
For example, an Internet address of 10.0.0.1 would result in:
 
For example, an Internet address of 10.0.0.1 would result in:
  
      echo 10.0.0.1 $HOSTNAME >> /etc/hosts
+
echo 10.0.0.1 ${HOSTNAME} >> /etc/hosts;
  
  
Line 14: Line 14:
 
If this command is successful, you do not receive any messages from the server.
 
If this command is successful, you do not receive any messages from the server.
  
      # modprobe dummy
+
modprobe dummy;
  
If you need to load more than one (1) dummy interface use the following (Three (3) in this example):
+
3. Create the interface(s) (Example: Network Interface: dummy1):
  
      # modprobe dummy numdummies=3
+
ip link add dummy1 type dummy;
  
3. Bind the dummy established network interface to the $HOSTNAME configured IP address. Also shown are other bindings for virtual network interfaces using '''[http://www.faqs.org/docs/Linux-mini/IP-Alias.html IP Address Aliasing]'''
+
4. Bind an IPv4 Address to Network Interface dummy1:
  
      # ifconfig dummy0 $HOSTNAME
+
ip addr add 10.0.0.1/24 dev dummy1;
      # ifconfig dummy0:0 10.0.0.2
 
      # ifconfig dummy0:1 10.0.0.3
 
  
4. Add a route other than “'''default'''” to the established connectivity to each virtual network interface.
+
--Or --
  
      # route add $HOSTNAME dummy0
+
ip addr add ${HOSTNAME}/24 dev dummy1;
      # route add 10.0.0.2 dummy0:0
 
      # route add 10.0.0.3 dummy0:1
 
  
5. Check the network binding:
+
5. Bring the dummy1 Network Interface up:
This command gives below listed output:
 
  
      # ifconfig dummy0
+
  ip link set dummy1 up;
        dummy0  Link encap:Ethernet HWaddr 2A:7B:EA:49:69:E2
 
                inet addr:10.0.0.1  Bcast:10.255.255.255  Mask:255.0.0.0
 
                inet6 addr: fe80::287b:eaff:fe49:69e2/64 Scope:Link
 
                UP BROADCAST RUNNING NOARP  MTU:1500  Metric:1
 
                RX packets:0 errors:0 dropped:0 overruns:0 frame:0
 
                TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
 
                collisions:0 txqueuelen:0
 
                RX bytes:0 (0.0 b)  TX bytes:824 (824.0 b)
 
      #
 
      # ifconfig dummy0:0
 
        dummy0:0 Link encap:Ethernet  HWaddr 2A:7B:EA:49:69:E2
 
                inet addr:10.0.0.2  Bcast:10.255.255.255  Mask:255.0.0.0
 
                UP BROADCAST RUNNING NOARP  MTU:1500  Metric:1
 
      #
 
      # ifconfig dummy0:1
 
        dummy0:1 Link encap:Ethernet  HWaddr 2A:7B:EA:49:69:E2
 
                inet addr:10.0.0.3  Bcast:10.255.255.255  Mask:255.0.0.0
 
                UP BROADCAST RUNNING NOARP  MTU:1500  Metric:1
 
  
6. Check the route binding:
+
6. If you need to add more than one (1) dummy interface use the following:
This command shows the routing as it is set up.
 
  
      # route -n
+
ip link add dummy2 type dummy;
      Kernel IP routing table:
+
ip link add dummy3 type dummy;
      Destination    Gateway        Genmask        Flags Metric Ref    Use Iface
+
ip addr add 10.0.0.2/24 dev dummy2;
      10.0.0.1        0.0.0.0        255.255.255.255 UH    0     0        0 dummy0
+
ip addr add 10.0.0.3/24 dev dummy3;
      10.0.0.2       0.0.0.0         255.255.255.255 UH    0     0        0 dummy0
+
ip link set dummy2 up;
      10.0.0.3        0.0.0.0         255.255.255.255 UH    0     0        0 dummy0
+
ip link set dummy3 up;
      10.0.0.0        0.0.0.0         255.0.0.0      U    0     0        0 dummy0
+
 
      127.0.0.0      0.0.0.0         255.0.0.0      U    0      0        0 lo
+
7. Check the network bindings with the linux '''[https://en.wikipedia.org/wiki/Iproute2 ip]''' command:
 +
 
 +
[root@nst28-dev ~]# ip a
 +
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
 +
     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
 +
    inet 127.0.0.1/8 scope host lo
 +
        valid_lft forever preferred_lft forever
 +
    inet6 ::1/128 scope host
 +
        valid_lft forever preferred_lft forever
 +
2: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000
 +
    link/ether 36:f5:1b:3a:12:41 brd ff:ff:ff:ff:ff:ff
 +
    inet 10.0.0.1/24 scope global dummy1
 +
        valid_lft forever preferred_lft forever
 +
    inet6 fe80::34f5:1bff:fe3a:1241/64 scope link
 +
         valid_lft forever preferred_lft forever
 +
3: dummy2: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000
 +
     link/ether 6a:5c:3f:56:dc:2d brd ff:ff:ff:ff:ff:ff
 +
    inet 10.0.0.2/24 scope global dummy2
 +
        valid_lft forever preferred_lft forever
 +
    inet6 fe80::685c:3fff:fe56:dc2d/64 scope link
 +
         valid_lft forever preferred_lft forever
 +
4: dummy3: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000
 +
     link/ether 86:d5:9f:08:f1:32 brd ff:ff:ff:ff:ff:ff
 +
    inet 10.0.0.3/24 scope global dummy3
 +
         valid_lft forever preferred_lft forever
 +
     inet6 fe80::84d5:9fff:fe08:f132/64 scope link
 +
         valid_lft forever preferred_lft forever
  
 
== Removing The Linux Dummy-Network Interface ==
 
== Removing The Linux Dummy-Network Interface ==
  
1. Unbind the dummy established network interface:
+
1. Unbind the dummy established Network Interface(s):
  
      # ifconfig dummy0 down;
+
ifconfig dummy1 down;
 +
ifconfig dummy2 down;
 +
ifconfig dummy3 down;
  
 
2) Remove the dummy kernel module.
 
2) Remove the dummy kernel module.
  
      # rmmod dummy;
+
rmmod dummy;
  
 
== References ==
 
== References ==
  
 
Reference Info 1: '''[http://www.faqs.org/docs/linux_network/x-087-2-iface.interface.html Linux Network Administrators Guide]'''
 
Reference Info 1: '''[http://www.faqs.org/docs/linux_network/x-087-2-iface.interface.html Linux Network Administrators Guide]'''
 +
 +
Reference Info 2: '''[https://en.wikipedia.org/wiki/Iproute2 iproute2]'''

Latest revision as of 08:09, 28 May 2018

Installing The Linux Dummy-Network Interface

If your NST system does not have an active NIC adapter installed or is off-line from the network, you can install a Dummy Network Interface Module to simulate a network computing environment. This can be quite useful for testing out various networking tools (e.g., Wireshark and Snort) with the Network Security Toolkit when off-line. Use the following procedure to install the Linux Dummy-Network Interface:


1. Add an IP address and host name to your "/etc/hosts" table. For example, an Internet address of 10.0.0.1 would result in:

echo 10.0.0.1 ${HOSTNAME} >> /etc/hosts;


2. Preload the dummy network driver on the machine. If this command is successful, you do not receive any messages from the server.

modprobe dummy;

3. Create the interface(s) (Example: Network Interface: dummy1):

ip link add dummy1 type dummy;

4. Bind an IPv4 Address to Network Interface dummy1:

ip addr add 10.0.0.1/24 dev dummy1;

--Or --

ip addr add ${HOSTNAME}/24 dev dummy1;

5. Bring the dummy1 Network Interface up:

ip link set dummy1 up;

6. If you need to add more than one (1) dummy interface use the following:

ip link add dummy2 type dummy;
ip link add dummy3 type dummy;
ip addr add 10.0.0.2/24 dev dummy2;
ip addr add 10.0.0.3/24 dev dummy3;
ip link set dummy2 up; 
ip link set dummy3 up;

7. Check the network bindings with the linux ip command:

[root@nst28-dev ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000
    link/ether 36:f5:1b:3a:12:41 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.1/24 scope global dummy1
       valid_lft forever preferred_lft forever
    inet6 fe80::34f5:1bff:fe3a:1241/64 scope link 
       valid_lft forever preferred_lft forever
3: dummy2: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000
    link/ether 6a:5c:3f:56:dc:2d brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.2/24 scope global dummy2
       valid_lft forever preferred_lft forever
    inet6 fe80::685c:3fff:fe56:dc2d/64 scope link 
       valid_lft forever preferred_lft forever
4: dummy3: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000
    link/ether 86:d5:9f:08:f1:32 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.3/24 scope global dummy3
       valid_lft forever preferred_lft forever
    inet6 fe80::84d5:9fff:fe08:f132/64 scope link 
       valid_lft forever preferred_lft forever

Removing The Linux Dummy-Network Interface

1. Unbind the dummy established Network Interface(s):

ifconfig dummy1 down;
ifconfig dummy2 down;
ifconfig dummy3 down;

2) Remove the dummy kernel module.

rmmod dummy;

References

Reference Info 1: Linux Network Administrators Guide

Reference Info 2: iproute2