Temat: iptbles
Witam. Proszę kolegów o pomoc lub pokierowanie w temacie. Do domu dochodzi mi światłowód podłączony do konwertera z którego wychodzi skrętka. Tutaj na jej drodze leży Dell poweredge z 4xgigabit (dalej zwane ene1 ene2 ene3 ene4) dalej switch unifi, kilka ap. Co chcę osiągnąć:
- MAC podany do isp jest z ene1
- z ene1 do ene2 przez iptbles przerzucam internet, dodatkowo ten internet ma być na samym serwerze który ma różne usługi uruchomione
- ene3 chciałbym używać wewnętrznie nie wiem czy warto przez łączenie z ene4 w jeden interfejs czy osobno, ale oba mają przesyłać dane lokalnie, tu samba, plex, synchronizacja telefonów itp.
Oczywiście gdzie tylko się da w konfigach daje konkretny interfejs, dnsmasq, samba mają ustawiony ene3.
#!/bin/bash
##/usr/local/bin/fw_nat
#skrypt firewall iptables
#zmienne:
ipt="iptables"
mod="modprobe"
LAN_IFACE="eno2"
WAN_IFACE="eno1"
#podstawowy zbior modulow jadra
$mod ip_tables
$mod iptable_filter
$mod iptable_nat
$mod ip_conntrack
$mod iptable_mangle
$mod ipt_MASQUERADE
$mod ip_nat_ftp
$mod ip_nat_irc
$mod ip_conntrack_ftp
$mod ip_conntrack_irc
$mod ipt_LOG
$mod ipt_limit
$mod ipt_state
# usunięcie wszystkich aktywnych reguł i niestandardowych łańcuchów
$ipt -F
$ipt -t nat -F
$ipt -t mangle -F
$ipt -X
$ipt -t nat -X
$ipt -t mangle -X
#ustawienie domyślnych strategii
$ipt -P INPUT ACCEPT
$ipt -P FORWARD ACCEPT
$ipt -P OUTPUT ACCEPT
$ipt -t nat -P OUTPUT ACCEPT
$ipt -t nat -P PREROUTING ACCEPT
$ipt -t nat -P POSTROUTING ACCEPT
$ipt -t mangle -P PREROUTING ACCEPT
$ipt -t mangle -P POSTROUTING ACCEPT
#zawsze należy pamiętać o wpisie dotyczącym interfejsu lo
$ipt -A INPUT -i lo -j ACCEPT
#wlaczenie maskarady ip
$ipt -t nat -A POSTROUTING -o $WAN_IFACE -j MASQUERADE
#zezwolenie na nieograniczony ruch wychodzacy, wchodzacy jest ograniczony wylaczenie do sesji inicjowanych lokalnie
$ipt -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
$ipt -A FORWARD -i $WAN_IFACE -o $LAN_IFACE -m state --state ESTABLISHED,RELATED -j ACCEPT
$ipt -A FORWARD -i $LAN_IFACE -o $WAN_IFACE -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
#statyczne przekierowanie portów
$ipt -A FORWARD -m state -p tcp -d 192.168.1.200 --dport 16120 --state NEW,ESTABLISHED,RELATED -j ACCEPT
$ipt -t nat -A PREROUTING -p tcp --dport 16120 -j DNAT --to-destination 192.168.1.200:8291
$ipt -A FORWARD -m state -p tcp -d 192.168.1.6 --dport 5000 --state NEW,ESTABLISHED,RELATED -j ACCEPT
$ipt -t nat -A PREROUTING -p tcp --dport 5000 -j DNAT --to-destination 192.168.1.6:80
$ipt -A FORWARD -m state -p tcp -d 192.168.1.180 --dport 16181 --state NEW,ESTABLISHED,RELATED -j ACCEPT
$ipt -t nat -A PREROUTING -p tcp --dport 16181 -j DNAT --to-destination 192.168.1.180:80
$ipt -A FORWARD -m state -p tcp -d 192.168.1.5 --dport 16180 --state NEW,ESTABLISHED,RELATED -j ACCEPT
$ipt -t nat -A PREROUTING -p tcp --dport 16180 -j DNAT --to-destination 192.168.1.5:8080
$ipt -A FORWARD -m state -p tcp -d 192.168.1.2 --dport 28001 --state NEW,ESTABLISHED,RELATED -j ACCEPT
$ipt -t nat -A PREROUTING -p tcp --dport 28001 -j DNAT --to-destination 192.168.1.2:5900
#otwarte porty
#$ipt -A INPUT -p tcp --dport 16122 -j ACCEPT
#$ipt -A INPUT -i $LAN_IFACE -p tcp --dport 8765 -j ACCEPT
#$ipt -A INPUT -i $LAN_IFACE -j ACCEPT
#$ipt -A INPUT -i $LAN_IFACE -p tcp --dport 8895 -j ACCEPT
#$ipt -A INPUT -i $LAN_IFACE -p tcp --dport 8081 -j ACCEPT
#$ipt -A INPUT -i $LAN_IFACE -p udp --dport 53 -j ACCEPT
#$ipt -A INPUT -i $LAN_IFACE -p tcp --dport 68 -j ACCEPT
#$ipt -A INPUT -i $LAN_IFACE -p udp --dport 68 -j ACCEPT
#$ipt -A INPUT -p tcp --dport 16130 -j ACCEPT
#$ipt -A INPUT -p tcp --dport 16120 -j ACCEPT
#$ipt -A INPUT -p tcp --dport 3000 -j ACCEPT
#$ipt -A INPUT -p tcp --dport 5000 -j ACCEPT
#$ipt -A INPUT -p tcp --dport 16180 -j ACCEPT
#$ipt -A INPUT -p tcp --dport 55100 -j ACCEPT
#$ipt -A INPUT -p udp --dport 55100 -j ACCEPT
#$ipt -A INPUT -p tcp --dport 16181 -j ACCEPT
#$ipt -A INPUT -p tcp --dport 1883 -j ACCEPT
#quake
#$ipt -A INPUT -p tcp --dport 27910 -j ACCEPT
#$ipt -A INPUT -p udp --dport 27910 -j ACCEPT
#$ipt -A INPUT -p tcp --dport 28001 -j ACCEPT
#akceptacja ICMP
$ipt -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
$ipt -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT
$ipt -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT
#odrzucenie prob nawiazania polaczeni spoza LAN
$ipt -A INPUT -p tcp --syn -j DROP
#wrzucanie dropowanych pakietow do LOG
$ipt -N LOGGING
$ipt -A INPUT -i $WAN_IFACE -j LOGGING
#$ipt -A OUTPUT -j LOGGING
$ipt -A LOGGING -j LOG --log-prefix "IPdrop: " --log-level 6
$ipt -A LOGGING -j DROP
$ipt -N UPNP
$ipt -A FORWARD -j UPNP
Teraz tak, internet mi działa wszędzie ale jako że regułki mam kopiuj, wklej to komputery nie widzą samby, minidlna
Zmieniłem blokadę spoza LAN w taki sposób,
$ipt -A INPUT -i ene1 -p tcp --syn -j DROP
$ipt -A INPUT -i ene2 -p tcp --syn -j DROP
Samba działa minidlna nie, bez tego widzę sporo portów otwartych na zewnątrz więc odpada.
root@dellserv:~# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 193-106-208-1.t 0.0.0.0 UG 0 0 0 eno1
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
172.18.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-9e2e60c79f8b
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eno2
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eno3
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eno4
193.106.208.0 0.0.0.0 255.255.254.0 U 0 0 0 eno1
Mimo, że w większości do ruchu lokalnego podaję ene3 to na tym porcie jest znikomy ruch, na ene4 jest NFS na który kamery puszczają strumień tego też nie widać.
Ogólnie trochę się zakopałem w temacie, liczę na jakieś rady, a może takie rozwiązanie jest złe, pisałem to wszystko na tablecie w pracy jak sobie to można wyobrazić ????
ene1 publiczne IP dynamicznie przyznawane
ene2 statyczne 192.168.1.1
ene3 statyczne 192.168.1.201
ene4 statyczne 192.168.1.202