Table of Contents

Networking

Here is some general networking information.

SSH Keys

To upload an ssh key to a server:

cat ~/.ssh/id_rsa.pub | ssh user@hostname 'cat >> .ssh/authorized_keys'

To cat a file contents to the sytem clipboard:

cat file | xclip -selection clipboard

To get ssh-add automatically setup see here.

To connect to an ssh server using a specific key:

ssh -i work_computer paul@24.0.147.52

The -i following by a path to the public key you want to use.

Authorized keys are stored in the following file.This is where you add a key with no new lines! One key per line following by the hostname.

 ~/.ssh/authorized_users 

To change basic ssh settings such as disabling password authentication go to this file.

 /etc/ssh/sshd_config 

Network Adapters

To disable a network adapter.

sudo ip link set down enp0s31f6

To enable a network apadter:

sudo ip link set up enp0s31f6

Notes from Steve Gordon's Lab:

ifconfig and ethtool are great tools that can give you the following info:

Some commands we used:

This gives us statistics.

ethtool -S eth0

This changes the speed of our port! The duplex command needs to be sent in also

ethtool -s eth0 speed 100 duplex full

Statistics on your network:

netstat -s 

How does my computer discover the hardware address of other computers. Theres a protocol that happens in the background, called address resolution protocol that find the hardware address based on the ip.

Use the arp command.

We want to see who is currently connected to us:

netstat -t 

To get a feel of what ports are in use read the file:

/etc/services

To see the routing table:

netstat -r

Name Resolution

Ok, cool, I'm finding shit with this.

Avahi, is a name resolution service that broadcasts out the name of the machine. It is automatically installed in ubuntu and to use it you have to just apped .local to the end of the hostname. You can try this also:

avahi-resolve -n dev-laptop.local

Ok so this is a complicated thing. To resolve over my openvpn, its gonna be equal pain in the dick. So, if i'm at the shop, just export the ROS_MASTER_URI to dev-laptop.local and td1.local and if i'm over vpn, use the ips. Easy peasy.

Wireless

To look at link information:

nmcli dev wifi

VPN

When needing to set up a VPN server use OpenVPN and use the roadwarrior script provided here.

When connecting to the open VPN server make sure to check the box “Use connection only for resources on this network”. This allows the connecting computer to retain its original default gateway and not mess up the internet connection. To test route do:

sudo ip route