kwami
(usa Debian)
Enviado em 25/05/2018 - 22:18h
Buckminster escreveu:
1 - Tem DHCP nesse servidor?
2 - Se estiver usando o Iptables, posta aqui o arquivo.
3 - Erro de resolução de nomes geralmente é DNS.
Oi Buckminster,
1 - R: Tem DHCP sim.
3 - R: Mas isso não constituiria problema pois, se ao sair da LAN ele usa a máscara da WAN (com o "endereço" da -t nat) logo chega ao roteador WAN do provedor de internet e o mesmo é um servidor DNS também. Logo, resolução de nomes não seria o x da questão (penso eu).
2 - R:#!/bin/bash
### BEGIN INIT INFO
# Provides: firewall
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Firewall
# Description: Enable service provided by daemon.
### END INIT INFO
#--------------------
# FIREWALL IPTABLES #
#--------------------
# CARREGANDO MODULOS NO KERNEL
modprobe ip_conntrack_ftp
modprobe ip_conntrack
modprobe ip_nat_ftp
modprobe ip_tables
modprobe ipt_MARK
modprobe ipt_MASQUERADE
modprobe ipt_REJECT
modprobe ipt_TCPMSS
modprobe ipt_TOS
modprobe ipt_limit
modprobe ipt_mac
modprobe ipt_multiport
modprobe ipt_owner
modprobe ipt_LOG
modprobe ipt_REDIRECT
modprobe ipt_state
modprobe iptable_nat
modprobe iptable_mangle
modprobe iptable_filter
# VARIAVEIS DE REDE
ifinternet=eno1
iflocal=enp3s2
lan=192.168.10.0/24
wan=192.168.1.0/24
wan_gw=192.168.1.1
# CASE PARA INICIAR FIREWALL
IniciarFirewall () {
# LIMPANDO REGRAS
iptables -F
iptables -F -t filter
iptables -F -t mangle
iptables -F -t nat
iptables -Z
#Ativa comutação entre interfaces
echo 1 > /proc/sys/net/ipv4/ip_forward
#firewall - regras padrão
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
#Filter
#Drop Invalid
iptables -A INPUT -m state --state INVALID -j LOG --log-prefix "Firewall - Drop INVALID"
iptables -A INPUT -m state --state INVALID -j DROP
#Accept Valid
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#Libera Serviços que estarao ativos no server
#SSH
iptables -A INPUT -p tcp --dport 22 -m state --state NEW --syn -j ACCEPT
# Squid
#Abrindo a porta do Squid(3128)
iptables -A INPUT -p tcp --dport 3128 -j ACCEPT
# redirecionando requisições de todas as portas aceites para o squid
iptables -t nat -A PREROUTING -i $ifinternet -p tcp -m multiport --dport 80,21,22,443,110,8080 -j REDIRECT --to-port 3128
iptables -A INPUT -i $iflocal -p tcp --dport 80 -m state --state NEW --syn -j ACCEPT #em dúvida, parece que não é necessário
# Samba
iptables -A INPUT -p udp --dport 137 -j ACCEPT
iptables -A INPUT -p udp --dport 138 -j ACCEPT
iptables -A INPUT -p tcp --dport 139 -j ACCEPT
#Libera interface de loopback
iptables -A INPUT -i lo -j ACCEPT
#Libera ping - Local
iptables -A INPUT -p icmp --icmp-type echo-request -i $iflocal -j ACCEPT
#Loga restante
iptables -A INPUT ! -i lo -j LOG --log-prefix "Firewall - Drop INPUT "
#Forward
#Drop invalid
iptables -A FORWARD -m state --state INVALID -j LOG --log-prefix "Firewall - INVALID Forward "
iptables -A FORWARD -m state --state INVALID -j DROP
#Accept Valid
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
#Localnet - Spoofed
iptables -A FORWARD -i $iflocal ! -s $lan -j LOG --log-prefix "Firewlal - Drop Spoofed Forward "
iptables -A FORWARD -i $iflocal ! -s $lan -j DROP
#Localnet
iptables -A FORWARD -i $ifinternet -s $lan -j ACCEPT
iptables -A FORWARD -i $ifinternet -d $lan -j ACCEPT
#Log
iptables -A FORWARD ! -i lo -j LOG --log-prefix "Firewall - Drop Forward "
#Output
#Drop invalid
iptables -A OUTPUT -m state --state INVALID -j LOG --log-prefix "Drop Output - INVALID "
iptables -A OUTPUT -m state --state INVALID -j DROP
}
# CASE PARA PARAR O FIREWALL
PararFirewall () {
# LIMPANDO REGRAS
iptables -F
iptables -F -t filter
iptables -F -t mangle
iptables -F -t nat
iptables -Z
# POLITICA PADRAO COMO ACCEPT
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
#----------------
# REGRAS DE NAT E FORWARD ENTRE AS PLACAS#
#----------------
# Comutação de pacotes
iptables -A FORWARD -d $wan -s $lan -j ACCEPT
iptables -A FORWARD -s $lan -d $wan -j ACCEPT
# Hosts que não passam pelo proxy
#iptables -t nat -N NOREDIRECT
#iptables -A FORWARD -i $iflocal -s 192.168.10.100 -j ACCEPT
#iptables -t nat -A PREROUTING -i $iflocal -s 192.168.10.100 -j NOREDIRECT
#iptables -t nat -A NOREDIRECT -j ACCEPT
#Masquerading
iptables -t nat -A POSTROUTING -o $ifinternet -j MASQUERADE
}
case $1 in
start) echo "FIREWALL INICIADO.......[OK]"
IniciarFirewall
;;
stop) echo "FIREWALL PARADO..........[OK]"
PararFirewall
;;
restart) echo "FIREWALL REINICIADO...[OK]"
PararFirewall
IniciarFirewall
;;
esac
#---------------
# FIM FIREWALL #
#---------------