Debian 10 jako router a DNS server nefunguje jak má

Založil Xoly, 15. 05. 2020, 15:07:28

Předchozí téma - Další téma

Xoly

Ahoj, mám malý problém. Postavil jsem počítač, dal do něho Debian 10 a zkusil z něho udělat router pro 3 vnitřní sítě. Všechno mi fungovalo, až na nějaké zvláštní případy. Mám tam nftables a dnsmasq. No a například seznam.cz se mi normálně načetl, ale když jsem zkusil nějakou jinačí stránku, která už není tak známá, tak mi to nechtělo najít, přitom dns server mi tu adresu na ip adresu přeložil. Potom se mi třeba nechtěl aktualizovat antivir nebo se třeba nechtěla stáhnout nějaká aktualizace hry na steamu, která asi běží na bázi torrentu. Potom třeba TeamSpeak 3 fungoval bez problému. Nevěděl by někdo prosím, co tam mám špatně? Vypadá to, jak kdyby to nechtělo pustit přes sebe nějaké pakety, ale nevím proč. Nejsem v tom zas tak zběhlý. Předem děkuju moc..

nftables.conf

#!/usr/sbin/nft -f
# vim: ft=pf

### FLUSH RULESET
flush ruleset

### SERVERs
define IPV4_LOCAL = { 192.168.0.0/14 }



table inet filter {
chain input {
type filter hook input priority 0; policy drop;
counter comment "count input accepted packets"

### DROP


### State firewall
iifname eno1 ct state invalid counter log prefix "DROP INVALID: " drop comment "early drop of invalid packets"
iifname eno1 ct state established, related counter accept comment "accept all connections related to conections made by us"

iifname enp4s0 accept comment "accept all"
iifname enp5s0 accept comment "accept all"
iifname enp7s0 accept comment "accept all"

### loopback interface
iifname lo accept comment "accept loopback"
iifname != lo ip daddr 127.0.0.1/8 counter drop comment "drop connections to loopback not comming from loopback"

### Icmp
ip protocol icmp counter limit rate 3600/hour burst 1200 packets log prefix "ACCEPT ICMP: " accept comment "accept all ICMP types"

### Allow LOCAL
ip saddr $IPV4_LOCAL counter log prefix "ACCEPT LOCAL: " accept comment "connection from LOCAL servers"

### Allow INET access
tcp dport 22 ct state new counter limit rate 6/minute burst 3 packets log prefix "ACCEPT SSH to port 22: " accept comment "connection via SSH"
tcp dport 80 ct state new counter log prefix "ACCEPT HTTP to port 80: " accept comment "connection via HTTP"
tcp dport 443 ct state new counter log prefix "ACCEPT HTTPS to port 443: " accept comment "connection via HTTPS"
}


chain forward {
type filter hook forward priority 0; policy accept;
counter comment "count forward dropped packets"
}
chain output {
type filter hook output priority 0; policy accept;
counter comment "count output accepted packets"
}
}

table ip nat {
chain prerouting {
type nat hook prerouting priority 0;

#Server
tcp dport 10070 dnat to 192.168.2.220:10070
udp dport 10070 dnat to 192.168.2.220:10070
tcp dport 10071 dnat to 192.168.2.220:10071
udp dport 10071 dnat to 192.168.2.220:10071
tcp dport 10072 dnat to 192.168.2.220:10072
udp dport 10072 dnat to 192.168.2.220:10072

#Matusik
tcp dport 10000 dnat to 192.168.2.164:10000
udp dport 50 dnat to 192.168.2.164:10050
udp dport 51 dnat to 192.168.2.164:10051
udp dport 500 dnat to 192.168.2.164:10052
udp dport 4500 dnat to 192.168.2.164:10053
tcp dport 5446 dnat to 192.168.2.164:10054
udp dport 5446 dnat to 192.168.2.164:10054
tcp dport 80 dnat to 192.168.2.164:10055

#Petr GameRanger
tcp dport 16000 dnat to 192.168.2.168:16000
udp dport 16000 dnat to 192.168.2.168:16000

}
chain postrouting {
type nat hook postrouting priority 100;
oifname "eno1" masquerade
}

}



dnsmasq.conf

domain-needed
bogus-priv
no-resolv
no-poll
all-servers
server=31.47.96.35
server=31.47.98.36
except-interface=eno1



interfaces

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback


#ETH0
auto eno1
iface eno1 inet static
address 192.168.148.2
netmask 255.255.255.252
gateway 192.168.148.1
up nft -f /etc/nftables.nft


#ETH1
auto enp4s0
iface enp4s0 inet static
address 192.168.2.254
netmask 255.255.255.0

#ETH2
auto enp5s0
iface enp5s0 inet static
address 192.168.12.254
netmask 255.255.255.0

#ETH3
auto enp7s0
iface enp7s0 inet static
address 192.168.22.254
netmask 255.255.255.0


resolv.conf je prázdný a DHPC server provozovat nechci, tak pokud jsem to nastavení dnsmasq dobře pochopil, tak by běžet neměl.

radek_dr

S iptables atd. ti neporadím, je to pro mne "vyšší dívčí", ale mohlo by ti pomoci https://pi-hole.net/ . Je to chytrý DNS server, který nastavíš jako výchozí pro lokální síť a pak jednoduchým způsobem přidáváš IP adresy na "blacklist" nebo "whitelist" podle potřeby. Ve výchozím stavu je určen pro blokování reklamních webů, ale je jen na tobě, co chceš blokovat/povolit. Nelekej se názvu PI-HOLE, je to jen známka toho, že to funguje i na Raspberry PI, ale mám to na "plnohodnotném" ( :D ) serveru s Debianem.
Acer Swift1, N4200 2.5 GHz max., 4GB RAM, 64+250GB SSD, Intel graphic, Debian 12 Cinnamon
Intel NUC,  Celeron J3455, 8GB RAM, 256GB SSD, Debian 11 server, Apache, Nginx proxy, KVM...
AS8940G, Intel i7 ..., LM19 xfce

Nikdo není dokonalý !