1. A method for routing packets from a computer peripheral device to a Virtual Private Network (VPN) gateway, the method comprising: (a) changing, by a computer peripheral device physically attached to and removable from a client computing device accessing a server via a VPN gateway, a routing table stored on the client computing device to instruct the client computing device to transmit an outbound packet to the computer peripheral device, the change received from the VPN gateway by a VPN client application program responsive to authenticating the computer peripheral device to the VPN gateway, the VPN client application program stored on the computer peripheral device and executing on a processor of the client computing device; (b) receiving, by a receiver of the computer peripheral device, the outbound packet from the client computing device responsive to the change in the routing table; (c) transmitting, by a transmitter on the computer peripheral device, information about the outbound packet to the VPN client application program, the VPN client application program establishing a secure communications tunnel with the VPN gateway; (d) rewriting, by a packet rewriter on the computer peripheral device, address information on the outbound packet; and (e) transmitting, by the transmitter on the computer peripheral device, the rewritten outbound packet to the VPN client application program to route to the VPN gateway.