Hi Jörg, thanks for the reply!

Do you think those rules for the VPN connection are specific enough or could 
something else be added?

- A INPUT -i eth0 -p udp -m udp -s 189.174.135.110 -d 192.168.1.0/24 --sport 
1194 --dport 32768:65535 -m conntrack --ctstate ESTABLISHED -j ACCEPT

-A OUTPUT -o eth0 -p udp -m udp -s 192.168.1.0/24 -d 189.174.135.110 --dport 
1194 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT

All the guides only use these two rules:
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -p udp -m udp --dport 1194

I'm just worried that they use 192.168.1.0/24 because normally I see a lot of 
iptables blocking this IP range for security.

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Sunday, December 26th, 2021 at 2:02 PM, Jörg Jellissen 
<[email protected]> wrote:

> Hello,
>
> I'm using nftables with wireguard and it runs perfectly.
>
> Don't forget the forward chain if your server runs as a router and you have a 
> private network behind your firewall.
>
> openVPN is for me
>
> Am 26.12.2021 um 00:09 schrieb linux_forum1:
>
>> Hello, I'm trying to make the most specific, secure and restrictive iptables 
>> possible for a simple VPN connection on Debian. Could you have a quick look 
>> if those are OK? Thanks so much!
>>
>> VPN Server Port:1194
>>
>> VPN Server IP: 189.174.135.110
>>
>> -P INPUT DROP
>> -P FORWARD DROP
>> -P OUTPUT DROP
>>
>> #no fragmented packets
>> -A INPUT -f -j DROP
>> #localhost
>> -A INPUT -s 127.0.0.0/8 ! -i lo -j DROP
>> -A INPUT -i lo -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
>> -A OUTPUT -o lo -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
>> # first packet has to be TCP syn
>> -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
>> #drop sop icmp
>> -A INPUT -p icmp --icmp-type address-mask-request -j DROP
>> -A INPUT -p icmp --icmp-type timestamp-request -j DROP
>> #Ping from inside to outside
>> -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT
>> -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT
>> #drop broadcast, multicast anycast
>> -A INPUT -m addrtype --dst-type BROADCAST -j DROP
>> -A INPUT -m addrtype --dst-type MULTICAST -j DROP
>> -A INPUT -m addrtype --dst-type ANYCAST -j DROP
>> -A INPUT -d 224.0.0.0/4 -j DROP
>> #drop invalid
>> -A INPUT -m state --state INVALID -j DROP
>> #drop spoofed packets
>> -A INPUT -s 0.0.0.0/8 -j DROP
>> -A INPUT -d 0.0.0.0/8 -j DROP
>> -A INPUT -d 239.255.255.0/24 -j DROP
>> -A INPUT -d 255.255.255.255 -j DROP
>> # DROP RFC1918 PACKETS
>> -A INPUT -s 10.0.0.0/8 -j DROP
>> -A INPUT -s 172.16.0.0/12 -j DROP
>> -A INPUT -s 192.168.0.0/16 -j DROP
>> #Allow VPN
>>
>> - A INPUT -i eth0 -p udp -m udp -s 
>> [189.174.135.110](https://189.174.135.110/) -d 192.168.1.0/24 --sport 1194 
>> --dport 32768:65535 -m conntrack --ctstate ESTABLISHED -j ACCEPT
>>
>> -A OUTPUT -o eth0 -p udp -m udp -s 192.168.1.0/24 -d 
>> [189.174.135.110](https://189.174.135.110/) --dport 1194 -m conntrack 
>> --ctstate NEW,ESTABLISHED -j ACCEPT

Reply via email to