Dummy Interface: Difference between revisions

From MediaWiki
Jump to navigationJump to search
No edit summary
 
(21 intermediate revisions by the same user not shown)
Line 1: Line 1:
__TOC__
== Installing The Linux Dummy-Network Interface ==
== Installing The Linux Dummy-Network Interface ==


If your '''[http://www.networksecuritytoolkit.org 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., '''[http://www.wireshark.org Wireshark]''' and '''[http://www.snort.org Snort]''') with the '''[http://www.networksecuritytoolkit.org Network Security Toolkit]''' when off-line. Use the following procedure to install the '''Linux Dummy-Network Interface''':


If your Linux system does not have network communication hardware installed, or if it uses the dynamic host configuration protocol (DHCP) for network IP address configuration, you can install a '''Dummy Network Interface Module''' using these procedures:


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;


1. Add /sbin to your $PATH environment setting:
3. Create the interface(s) (Example: Network Interface: dummy1):


      # PATH=$PATH:/sbin
ip link add dummy1 type dummy;


2. Add an IP address and host name to your /etc/hosts table.
4. Bind an IPv4 Address to Network Interface dummy1:
For example, an Internet address of 10.0.0.1 would result in:
 
ip addr add 10.0.0.1/24 dev dummy1;


      echo 10.0.0.1 $HOSTNAME >> /etc/hosts
--Or --


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


3. Preload the dummy network driver on the machine.
5. Bring the dummy1 Network Interface up:
If this command is successful, you do not receive any messages from the server.


      # modprobe -a dummy
ip link set dummy1 up;


4. Bind the dummy established network interface to the $HOSTNAME configured IP address.
6. If you need to add more than one (1) dummy interface use the following:


      # ifconfig dummy0 $HOSTNAME
ip link add dummy2 type dummy;
      # ifconfig dummy0:0 10.0.0.2
ip link add dummy3 type dummy;
      # ifconfig dummy0:1 10.0.0.3
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;


5. For a DHCP environment, add a route other than “default” to the established virtual network setup.
7. Check the network bindings with the linux '''[https://en.wikipedia.org/wiki/Iproute2 ip]''' command:


      # route add $HOSTNAME dummy0
[root@nst28-dev ~]# ip a
      # route add 10.0.0.2 dummy0:0
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
      # route add 10.0.0.3 dummy0:1
    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


6. Check the network binding:
== Removing The Linux Dummy-Network Interface ==
This command gives below listed output:


      # ifconfig dummy0
1. Unbind the dummy established Network Interface(s):
        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


7. Check the route binding:
ifconfig dummy1 down;
This command shows the routing as it is set up.
ifconfig dummy2 down;
ifconfig dummy3 down;


      # route -n
2) Remove the dummy kernel module.
      Kernel IP routing table:
      Destination    Gateway        Genmask        Flags Metric Ref    Use Iface
      10.0.0.1        0.0.0.0        255.255.255.255 UH    0      0        0 dummy0
      10.0.0.2       0.0.0.0        255.255.255.255 UH    0      0        0 dummy0
      10.0.0.3        0.0.0.0        255.255.255.255 UH    0      0        0 dummy0
      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


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 07: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