rendered paste bodyFuncionamento:
Cliente conecta no ip 187.5.250.106 e ganha o ip 10.8.0.2. A rede interna do OPENVPN é 10.1.1.0
O cliente consegue navegar na internet, mas não consegue acessar/pingar nenhum ip 10.1.1.xxx.
--- ROTAS DO SERVIDOR VPN:
root@router ~]# route -n
Tabela de Roteamento IP do Kernel
Destino Roteador MáscaraGen. Opções Métrica Ref Uso Iface
10.8.0.2 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
187.5.250.104 0.0.0.0 255.255.255.248 U 0 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth2
10.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 eth1
0.0.0.0 187.5.250.105 0.0.0.0 UG 0 0 0 eth0
----- FIREWALL:
#!/bin/bash
# modprobe eh usado para carregar modulos do kernel
MOD=$(which modprobe)
#
IPT=$(which iptables)
# Interfaces de rede
I_LINK1="eth0"
I_LINK2="eth2"
I_LAN="eth1"
I_VPN="tun0"
function start() {
# Carrega o modulo do kernel
$MOD ip_tables
$MOD iptable_nat
# Limpa as regras anteriores
stop;
# Habilita redirecionamento de IP
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "0" > /proc/sys/net/ipv4/conf/default/rp_filter
#Compartilhando links
$IPT -t nat -A POSTROUTING -s 10.0.0.0/255.0.0.0 -o eth2 -j MASQUERADE
$IPT -t nat -A POSTROUTING -s 10.0.0.0/255.0.0.0 -o eth0 -j MASQUERADE
$IPT -P INPUT DROP
$IPT -P FORWARD ACCEPT
$IPT -P OUTPUT ACCEPT
$IPT -A INPUT -i tun0 -j ACCEPT
$IPT -A OUTPUT -o tun0 -j ACCEPT
$IPT -A FORWARD -o tun0 -j ACCEPT
#liberando trágo de rede local (127.0.0.1)
$IPT -A INPUT -i lo -j ACCEPT
#Liberando VPN
$IPT -A FORWARD -i tun0 -j ACCEPT
$IPT -t nat -A POSTROUTING -s 10.8.0.2 -o $I_LAN -j MASQUERADE
$IPT -t nat -A POSTROUTING -s 10.1.1.30 -o $I_VPN -j MASQUERADE
#Liberando SIP
$IPT -A INPUT -p tcp -m tcp --dport 5080 -s 187.0.0.0/255.0.0.0 -j ACCEPT
$IPT -A INPUT -p udp -m udp --dport 5080 -s 187.0.0.0/255.0.0.0 -j ACCEPT
$IPT -A INPUT -p tcp -m tcp --dport 5080 -s 189.0.0.0/255.0.0.0 -j ACCEPT
$IPT -A INPUT -p udp -m udp --dport 5080 -s 189.0.0.0/255.0.0.0 -j ACCEPT
$IPT -A INPUT -p tcp -m tcp --dport 5080 -s 200.0.0.0/255.0.0.0 -j ACCEPT
$IPT -A INPUT -p udp -m udp --dport 5080 -s 200.0.0.0/255.0.0.0 -j ACCEPT
$IPT -A INPUT -p tcp -m tcp --dport 5080 -s 201.0.0.0/255.0.0.0 -j ACCEPT
$IPT -A INPUT -p udp -m udp --dport 5080 -s 201.0.0.0/255.0.0.0 -j ACCEPT
#$IPT -A INPUT -p tcp -m tcp --dport 5080 -j ACCEPT
#$IPT -A INPUT -p udp -m udp --dport 5080 -j ACCEPT
#$IPT -A INPUT -p tcp -m tcp --dport 5070 -j ACCEPT
#$IPT -A INPUT -p udp -m udp --dport 5070 -j ACCEPT
#Liberando Voz
$IPT -A INPUT -p tcp -m tcp --dport 10000:20000 -s 187.0.0.0/255.0.0.0 -j ACCEPT
$IPT -A INPUT -p udp -m udp --dport 10000:20000 -s 187.0.0.0/255.0.0.0 -j ACCEPT
$IPT -A INPUT -p tcp -m tcp --dport 10000:20000 -s 189.0.0.0/255.0.0.0 -j ACCEPT
$IPT -A INPUT -p udp -m udp --dport 10000:20000 -s 189.0.0.0/255.0.0.0 -j ACCEPT
$IPT -A INPUT -p tcp -m tcp --dport 10000:20000 -s 200.0.0.0/255.0.0.0 -j ACCEPT
$IPT -A INPUT -p udp -m udp --dport 10000:20000 -s 200.0.0.0/255.0.0.0 -j ACCEPT
$IPT -A INPUT -p tcp -m tcp --dport 10000:20000 -s 201.0.0.0/255.0.0.0 -j ACCEPT
$IPT -A INPUT -p udp -m udp --dport 10000:20000 -s 201.0.0.0/255.0.0.0 -j ACCEPT
# Aceitando conexoes de entrada
$IPT -A INPUT -p tcp --dport 22 -j ACCEPT
$IPT -A INPUT -p tcp --dport 142 -j ACCEPT
$IPT -A INPUT -p tcp --dport 80 -j ACCEPT
$IPT -A INPUT -p tcp --dport 81 -j ACCEPT
$IPT -A INPUT -p tcp --dport 2223 -j ACCEPT
$IPT -A INPUT -p tcp --dport 5038 -j ACCEPT
$IPT -A INPUT -p tcp --dport 34684 -j ACCEPT
$IPT -A INPUT -p tcp --dport 161 -j ACCEPT
$IPT -A INPUT -p udp --dport 161 -j ACCEPT
$IPT -A INPUT -p udp --dport 1194 -j ACCEPT
##### Toda navegacao sai pela ADSL, o resto pelo link dedicado
# Saida dos pacotes pela ADSL
$IPT -t mangle -A PREROUTING -i $I_LAN -p tcp --dport 3389 -j MARK --set-mark 2
$IPT -t mangle -A PREROUTING -i $I_LAN -p tcp --dport 80 -j MARK --set-mark 2
$IPT -t mangle -A PREROUTING -i $I_LAN -p tcp --dport 0:65535 -j MARK --set-mark 2
$IPT -t mangle -A PREROUTING -i $I_LAN -p udp --dport 0:65535 -j MARK --set-mark 2
$IPT -t mangle -A PREROUTING -i $I_LAN -p tcp --dst 192.168.1.1 -j MARK --set-mark 2
$IPT -t mangle -A PREROUTING -i $I_VPN -p tcp --dport 0:65535 -j MARK --set-mark 2
# Saida dos pacotes pelo Link Dedicado
$IPT -t mangle -A PREROUTING -i $I_LAN -p tcp --dport 22 -j MARK --set-mark 1
$IPT -t mangle -A PREROUTING -i $I_LAN -p tcp --dport 142 -j MARK --set-mark 1
$IPT -t mangle -A PREROUTING -i $I_VPN -p tcp --dport 22 -j MARK --set-mark 1
$IPT -t mangle -A PREROUTING -i $I_VPN -p tcp --dport 142 -j MARK --set-mark 1
$IPT -t mangle -A PREROUTING -i $I_LAN -p tcp --dst 187.53.232.107 -j MARK --set-mark 1
$IPT -t mangle -A PREROUTING -i $I_LAN -p tcp --dst 177.19.183.166 -j MARK --set-mark 1 #Servidor SanMartin WEB
$IPT -t mangle -A PREROUTING -i $I_LAN -p tcp --dport 6666 -j MARK --set-mark 1 #IRC
$IPT -t mangle -A PREROUTING -i $I_LAN -p tcp --dport 6667 -j MARK --set-mark 1 #IRC
$IPT -t mangle -A PREROUTING -i $I_LAN -p tcp --dport 6665 -j MARK --set-mark 1 #IRC
$IPT -t mangle -A PREROUTING -i $I_LAN -p tcp --dst 187.52.9.22 -j MARK --set-mark 1 # Abosco
$IPT -t mangle -A PREROUTING -i $I_VPN -p tcp --dst 187.52.9.22 -j MARK --set-mark 1 # Abosco
$IPT -t mangle -A PREROUTING -i $I_LAN -p tcp --dst 177.40.146.4 -j MARK --set-mark 1 # DAGMOLLER
$IPT -t mangle -A PREROUTING -i $I_LAN -p tcp --dst 177.67.230.29 -j MARK --set-mark 1 # Saojoao CD
$IPT -t mangle -A PREROUTING -i $I_VPN -p tcp --dst 177.67.230.29 -j MARK --set-mark 1 # Saojoao CD
$IPT -t mangle -A PREROUTING -i $I_LAN -p tcp --dst 200.240.249.10 -j MARK --set-mark 1
$IPT -t mangle -A PREROUTING -i $I_VPN -p tcp --dst 200.240.249.10 -j MARK --set-mark 1
$IPT -t mangle -A PREROUTING -p icmp --icmp-type echo-request -j MARK --set-mark 1
# Liberando Rede Local
$IPT -A INPUT -p tcp -s 10.0.0.0/255.0.0.0 -j ACCEPT
$IPT -A INPUT -p udp -s 10.0.0.0/255.0.0.0 -j ACCEPT
$IPT -A INPUT -p udp -s 187.17.166.162 -j ACCEPT
$IPT -A INPUT -p udp -s 189.29.54.144 -j ACCEPT
$IPT -A INPUT -p udp -s 177.35.100.170 -j ACCEPT
$IPT -A INPUT -p udp -s 187.5.250.107 -j ACCEPT
#Liberando pacotes que realmente devem estabelecer conexã
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
#Liberando ping
$IPT -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
# Forward de portas para o servidor de backup
$IPT -t nat -A PREROUTING -d 187.5.250.106 -p tcp --dport 22 -j DNAT --to 10.1.1.52:22
$IPT -t mangle -A PREROUTING -p tcp -s 10.1.1.52 --sport 22 -j MARK --set-mark 1
# Servidor WEB Maquina virtual
$IPT -t nat -A PREROUTING -d 187.5.250.106 -p tcp --dport 81 -j DNAT --to 10.1.1.88:80
$IPT -t mangle -A PREROUTING -p tcp -s 10.1.1.88 --sport 80 -j MARK --set-mark 1
# Servidor Freeswitch
$IPT -t nat -A PREROUTING -d 187.5.250.106 -p tcp --dport 82 -j DNAT --to 10.1.1.78:80
$IPT -t mangle -A PREROUTING -p tcp -s 10.1.1.78 --sport 80 -j MARK --set-mark 1
$IPT -t nat -A PREROUTING -d 187.5.250.106 -p tcp --dport 2223 -j DNAT --to 10.1.1.78:22
$IPT -t mangle -A PREROUTING -p tcp -s 10.1.1.78 --sport 22 -j MARK --set-mark 1
#Lyrics
$IPT -t nat -A PREROUTING -d 187.5.250.106 -p tcp --dport 2220 -j DNAT --to 10.1.1.244:22
$IPT -t mangle -A PREROUTING -p tcp -s 10.1.1.244 --sport 22 -j MARK --set-mark 1
$IPT -t nat -A PREROUTING -d 187.5.250.106 -p tcp --dport 2221 -j DNAT --to 10.1.1.245:22
$IPT -t mangle -A PREROUTING -p tcp -s 10.1.1.245 --sport 22 -j MARK --set-mark 1
$IPT -t nat -A PREROUTING -d 187.5.250.106 -p tcp --dport 8080 -j DNAT --to 10.1.1.244:80
$IPT -t mangle -A PREROUTING -p tcp -s 10.1.1.244 --sport 80 -j MARK --set-mark 1
$IPT -t nat -A PREROUTING -d 187.5.250.106 -p tcp --dport 8081 -j DNAT --to 10.1.1.245:80
$IPT -t mangle -A PREROUTING -p tcp -s 10.1.1.245 --sport 80 -j MARK --set-mark 1
# Torrent Willian
$IPT -t nat -A PREROUTING -p tcp --dport 34684 -j DNAT --to 10.1.1.30
$IPT -t mangle -A PREROUTING -p tcp -s 10.1.1.30 --sport 34684 -j MARK --set-mark 2
# teste do lyric
# $IPT -t nat -A PREROUTING -i $I_LAN -d 74.125.65.141 -j DNAT --to 10.1.1.249
echo "Firewall iniciado."
}
function stop() {
# Limpa a tabela mangle
$IPT -P INPUT ACCEPT
$IPT -P FORWARD ACCEPT
$IPT -P OUTPUT ACCEPT
$IPT -F -t filter
$IPT -F -t nat
$IPT -F -t mangle
$IPT -X -t filter
$IPT -X -t nat
$IPT -X -t mangle
$IPT -Z -t filter
$IPT -Z -t nat
$IPT -Z -t mangle
echo "Firewall parado."
}
case $1 in
'start') start; exit ;;
'stop') stop; exit ;;
'restart') stop; start; exit ;;
*) start; exit ;;
esac