hi everybody,
i’m having difficulties configuring iptables on my raspberry pi osmc.
my setup looks like this:
Raspberry Pi 3 with OSMC connected with my router through LAN
Openvpn (Openvpn Manager Addon in OSMC)
VPN Account
Iptables and iptables-persistent
What i wanted to to:
1.Force the whole trafffic through the Tunnel and drop all traffic, if the vpn connection is lost.
2. Use the tethering option in OSMC to create an wifi hotspot, so that i can use the vpn on my laptop as well.
I tried to accomplish this with iptables. I don’t have a good understanding of iptables, but i’ve read some how-tos and forum discussions.
The problem is that one time it seems to work, the other time it doesn’t (i get something like “active filtering but no valid connection” or i have a connection to the vpn but can’t get traffic out)
My rules look like this:
*filter
:INPUT DROP [4908:3410849]
:FORWARD DROP [7062:3114188]
:OUTPUT DROP [4295:793623]
#SSH
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 22 -j ACCEPT
#DNS
-A INPUT -i eth0 -s DNS SERVER 1 -p udp -m udp --sport 53 -j ACCEPT
-A OUTPUT -o eth0 -d DNS SERVER 1 -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -i eth0 -s DNS SERVER 1 -p tcp -m tcp --sport 53 -j ACCEPT
-A OUTPUT -o eth0 -d DNS SERVER 1 -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -i eth0 -s DNS SERVER 2 -p udp -m udp --sport 53 -j ACCEPT
-A OUTPUT -o eth0 -d DNS SERVER 2 -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -i eth0 -s DNS SERVER 2 -p tcp -m tcp --sport 53 -j ACCEPT
-A OUTPUT -o eth0 -d DNS SERVER 2 -p tcp -m tcp --dport 53 -j ACCEPT
#TRAFFIC TO VPN
-A INPUT -i eth0 -p udp -s IP-VPN --sport VPN-Port -j ACCEPT
-A OUTPUT -o eth0 -p udp -d IP-VPN --dport VPN-Port -j ACCEPT
#TRAFFIC LOCAL
-A INPUT -s 192.168.0.0/24 -j ACCEPT
-A OUTPUT -d 192.168.0.0/24 -j ACCEPT
#TETHERING
-A INPUT -i tether -j ACCEPT
-A OUTPUT -o tether -j ACCEPT
#TRAFFIC ON TUN0
-A INPUT -i tun0 -j ACCEPT
-A OUTPUT -o tun0 -j ACCEPT
#FORWARDING
-A FORWARD -i tether -o tun0 -j ACCEPT
-A FORWARD -i tun0 -o tether -j ACCEPT
-A FORWARD -i tun0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -o tun0 -j ACCEPT
COMMIT
Can anyone help me with my problem? Did I miss something? Is something unneccessary?