NDN on Galileo

Network Setup

Example topology


              ==============================    ====================================    ===================
              |     router at my home      |    |      My PC: Fedora 20            |    |   Intel Galileo |
              ==============================    ====================================    ===================
Internet----->|<-Face A    Face B--------->|<-->|<-Face wlp0s29u1u3  Face p34p1--->|<-->|<-Face eth0      |
              |  x.x.x.x   ip:192.168.1.1  |    |  ip: 192.168.1.32  ip: 10.0.0.1  |    |  ip:  10.0.0.2  |
              |                            |    |         gw: 192.168.1.1          |    |  gw:  10.0.0.1  |
              |                            |    |    runs DHCP server on eth0      |    |                 |
              ==============================    ==============================+=====    ===================

Example DHCP configuration file for Debian

# the nameservers taht will be responded to DHCP client.
option domain-name-servers 8.8.8.8, 8.8.4.4;
# define a subnet with no ip range, because all ip are
# bind to a specific host as spesified in host statement
subnet 10.0.0.0 netmask 255.255.255.0 {
  option routers 10.0.0.1; # default route for DHCP client
}
# bind the only machine to ip address 10.0.0.2
host clanton {
  hardware ethernet 98:4F:EE:01:A1:EC;
  fixed-address 10.0.0.2; #ip for DHCP client with above MAC
}

Getting Galileo on Internet

# "IP forwarding" is a synonym for "routing." It is called
# "kernel IP forwarding" because it is a feature of the Linux kernel.
# A router has multiple network interfaces. If traffic comes in on
# one interface that matches a subnet of another network interface,
# a router then forwards that traffic to the other network interface.
# So for example, ip_forward will allow Galileo to ping wlp0s29u1u3
sysctl -w net.ipv4.ip_forward=1
# turn on NAT on wlp0s29u1u3 since this is the face that willbe relaying traffic from 10.0.0.0/24
# after truning on NAT, Galileo should be able to ping all live ips from the Internet
iptables -t nat -A POSTROUTING -o wlp0s29u1u2 -j MASQUERADE