--- title: openssh and openwrt --- Success! Unrestricted, encrypted internet access from my laptop to a linksys wrt54g running openwrt. The OpenSSH documentation and irc channel bot were especially helpful - follow them for generating the keys, and use a configuration like the one below if you want all your internet traffic routed through a tunnel. The firewall.user I would not copy directly, since it is overly open. Since I have almost no clue to how IPTables works, any help on simplifying it would be appreciated. client.conf: client dev tun proto udp pull # new for 2.1 remote fayth.ath.cx 1194 nobind ca /etc/openvpn/keys/ca.crt cert /etc/openvpn/keys/fayth.crt key /etc/openvpn/keys/fayth.key dh /etc/openvpn/keys/dh2048.pem comp-lzo verb 3 server.conf: ### connection port 1194 proto udp dev tun client-to-client # security user nobody group nobody ### keys ca /etc/openvpn/keys/ca.crt cert /etc/openvpn/keys/server.crt key /etc/openvpn/keys/server.key dh /etc/openvpn/keys/dh2048.pem ### routing server 10.8.0.0 255.255.255.0 ### make sure to include def1 push "redirect-gateway def1" push "dhcp-option DNS 10.8.0.1" ### logging comp-lzo keepalive 10 120 status /tmp/openvpn.status /etc/firewall.user: iptables -I FORWARD -j ACCEPT ### OpenVPN iptables -A OUTPUT -o tun+ -j ACCEPT iptables -A INPUT -i tun+ -j ACCEPT iptables -A FORWARD -i tun+ -j ACCEPT iptables -A FORWARD -o tun+ -j ACCEPT iptables -I OUTPUT -o tun+ -j ACCEPT iptables -I INPUT -i tun+ -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -I FORWARD -o tun+ -j ACCEPT iptables -I FORWARD -i tun+ -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -t nat -I POSTROUTING -o tun+ -j MASQUERADE