routing_table resource
Use the routing_table Chef InSpec audit resource to test the routing information parameters, destination, gateway, and interface present in the routing table. The rule matches with the output information of netstat -rn.
Availability
Install
This resource is distributed with Chef InSpec.
Syntax
A routing_table Chef InSpec audit resource tests if an entry of destination, gateway, and interface is present as part of the routing table information. All three keys and their values must be passed when testing.
    describe routing_table do
      it { should have_entry(destination: '0.0.0.0', interface: 'eth0', gateway: '172.31.80.1') }
    end
where:
destination,interface, andgatewayare parameters of the routing table.have_entryis a matcher of this resource.
Matchers
For a full list of available matchers, please visit our matchers page.
have_entry
The have_entry matcher tests the if the given destination, interface, and gateway exist as an entry in the routing table.
    it { should have_entry(destination: '0.0.0.0', interface: 'eth0', gateway: '172.31.80.1') }
Examples
The following examples show how to use this Chef InSpec audit resource.
Ensures an entry with the destination as ‘10.123.137.0’, gateway as ‘0.0.0.0’, and interface as ’eth0’ exists in the routing table
have_entry returns true if the given combination of destination, gateway, and interface is a valid entry in the routing table.
    describe routing_table do
      it { should have_entry(destination: '10.123.137.0', interface: 'eth0', gateway: '0.0.0.0') }
    end
Ensures an entry with the destination as ‘192.168.43.1/32’, gateway as ‘172.31.80.1’, and interface as ’lxdbr0’ exists in the routing table
    describe routing_table do
      it do
        should have_entry(
          :destination => '192.168.43.1/32',
          :interface   => 'lxdbr0',
          :gateway     => '172.31.80.1',
        )
      end
    end