Fórum Ubuntu Linux - PT
Suporte Técnico => Internet, Redes e Segurança => Tópico iniciado por: lordfox8 em 06 de Dezembro de 2014, 15:10
-
Ola srs, tenho a seguinte situação tenho o ubuntu instalado no meu servidor não é ubuntu core sim grafico mas blz... configurei o dhcp blz só que nessa rede roda um sistema de camera na porta 2000 no ip 192.168.1.20 só não sei como fazer para quando o externo quizer acessar a camera pelo "meudns.ddns.net:2000" como configurar o ubuntu para executar essa operação pois por router é mais simples mas que eu quero é que o ubuntu gerencie toda a rede da empresa....
Obrigado desde ja
-
Vc tem algum firewall ativo no seu servidor Ubuntu?
-
não, não tenho firewall instalado, qual você recomenda??
-
Não, é pra saber como vai encaixar a regra que precisa colocar. Vc tem que adicionar o comando abaixo à inicialização do sistema:
iptables -t nat -A PREROUTING -p tcp --dport 2000 -j DNAT --to 192.168.1.20:2000
Mas fique atento que isso só vai funcionar se seu servidor Ubuntu estiver compartilhando a conexão. O que me faz pensar... como vc está compartilhando a conexão, se não tem um script de firewall???
-
Então estou compartilhando a conexão pelo ubuntu sim, estou utilizando configuração que mostra no guia do hardware isc-dhcp
O script que se refere onde eu coloco?
-
Primeiro mostre essa configuração que fez pro compartilhamento... vai ser mais um comando lá, que vai fazer o que vc quer.
-
Então so jogar essa linha de comando lá para ele jogar a busca pela porta exemplo 2000 no ip correspondente 193.168.1.20 exemplo?
-
Essa linha faz isso, mas tem um monte de coisas que precisa estar configurado pra que isso funcione direito. Eu posso te mostrar onde colocá-la, mas vc tem que me mostrar o que já fez.
-
OK minha
# /etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
echo 1 > /proc/sys/net/conf/default/rp_filter
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --syn -j DROP
iptables -A INPUT -p -tcp --dport 3128 -j ACCEPT
#liberar portas
# iptables -A INPUT -p -tcp --dport XX -j ACCEPT
exit 0
#/etc/default/isc-dhcp-server
# Defaults for isc-dhcp-server initscript
# sourced by /etc/init.d/isc-dhcp-server
# installed at /etc/default/isc-dhcp-server by the maintainer scripts
#
# This is a POSIX shell fragment
#
# Path to dhcpd's config file (default: /etc/dhcp/dhcpd.conf).
#DHCPD_CONF=/etc/dhcp/dhcpd.conf
# Path to dhcpd's PID file (default: /var/run/dhcpd.pid).
#DHCPD_PID=/var/run/dhcpd.pid
# Additional options to start dhcpd with.
# Don't use options -cf or -pf here; use DHCPD_CONF/ DHCPD_PID instead
#OPTIONS=""
# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
# Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACES="eth0"
#/etc/dhcp/dhcpd.conf
ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
authoritative;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.11 192.168.1.245;
option routers 192.168.1.1;
option domain-name-servers 192.168.1.2 , 208.67.222.222 , 208.67.220.220;
option netbios-name-servers 192.168.1.254;
option broadcast-address 192.168.1.255;
}
Bom esses são meus codigos do DHCP e da rede sou novo nesse mundo de servidores linux, queria saber onde coloca a porta a ser aberta e redirecionar ao IP correto, como expliquei a cima!
Eu fiz essa configuração no #etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
echo 1 > /proc/sys/net/conf/default/rp_filter
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --syn -j DROP
#liberar portas
iptables -A INPUT -p -tcp --dport 3333 -j ACCEPT
iptables -A INPUT -p -tcp --dport 1234 -j ACCEPT
iptables -A INPUT -p -tcp --dport 2000 -j ACCEPT
iptables -A INPUT -p -udp --dport 3333 -j ACCEPT
iptables -A INPUT -p -udp --dport 1234 -j ACCEPT
iptables -A INPUT -p -udp --dport 2000 -j ACCEPT
#Redirecionamento de portas
iptables -t nat -A PREROUTING -p tcp --dport 2000 -j DNAT --to 192.168.1.11:2000
iptables -t nat -A PREROUTING -p udp --dport 2000 -j DNAT --to 192.168.1.11:2000
iptables -t nat -A PREROUTING -p tcp --dport 1234 -j DNAT --to 192.168.1.2:1234
iptables -t nat -A PREROUTING -p udp --dport 1234 -j DNAT --to 192.168.1.2:1234
iptables -t nat -A PREROUTING -p tcp --dport 3333 -j DNAT --to 192.168.1.2:3333
iptables -t nat -A PREROUTING -p udp --dport 3333 -j DNAT --to 192.168.1.2:3333
é assim?
-
Sim, seria parecido com isso.
-
Entao so colocar o codigo que vc me falou no etc/rc.local?
-
Sim, do jeito que vc mostrou na última mensagem deve funcionar. Chegou a testar?
-
zekkerj você que é o cara do ubuntu, será que sabe me responder, seguinte estou utilizando um Router Dlink para conectar a internet Vivo Speedy (pois precisa usar um provedor para conectar a internet) e depois jogar na placa de internet do servidor, eu tenho que configurar a portar 2000 jogando no ip 192.168.0.20 (da placa da internet) do servidor para depois jogar dentro da rede através do ip 192.168.1.11:2000?
-
Nesse caso vc primeiro deve redirecionar a porta nesse roteador.
Ah, claro, antes que eu esqueça: o Ubuntu pode conectar no Speedy pra você --- inclusive com o provedor.
-
Mas nesse linux tenho duas placa de rede, configuradas uma para rede e outra para internet, vou ter que reconfigurar alguma coisa ou só conectar que ele já espalha a internet Speedy?
-
Tem que configurar... o script de compartilhamento muda, o firewall muda. Vale a pesquisa, pra ver se compensa.
-
Outra coisa estou tento um pequeno problema que está se tornando um "saco" talvez e minha ignorancia, seguinte as maquinas da rede pega o IP tudo certinho mas para navegar tem hora que da erro demora para pegar a internet eu utilizo na rede windows 7 pro, meus dns são
192.168.1.2, 208.67.222.222 , 208.67.220.220;
O caminho da internet é: Modem Speedy >> Router dlink DIR 635 >> Placa eth1 >> Servidor Ubuntu (192.168.1.1) >> eth 0 rede interna >> Router Wifi e Swith >> PCs e Celulares e Laptops
O caminho dos PCS,: PCS>> Servidor Windows 2012 (Dominio) IP 192.168.1.2 >> Internet e Rede...
e tenho duvida para que serve isso:
option netbios-name-servers 192.168.1.254;
option broadcast-address 192.168.1.255;
não sei se é conflito na rede pois outros pcs pegam a internet numa boa outros tem dificuldade!
-
Tenta inverter a ordem dos DNS nas estações.
-
Mas o primeiro DNS é do Dominio interno da rede windows!
-
Faça o teste... inverta o DNS, veja se resolve o problema da navegação. Se resolver, vc tem um problema no servidor Windows, o que está além do objetivo deste fórum.
-
Faça o teste... inverta o DNS, veja se resolve o problema da navegação. Se resolver, vc tem um problema no servidor Windows, o que está além do objetivo deste fórum.
Meu querido amigo, Zekkerj, para que serve esse caminho no rc.local?
/proc/sys/net/ipv4/conf/default/rp_filter
Outra duvida, se você tem um exemplo que você me falou do firewall.sh e criar um atalho no rc.local???
-
Não lembro o uso do "rp_filter". Se vc não sabe o que é também, desativar a linha provavelmente não vai te fazer grandes danos.
Sobre usar o script em separado, não tem muito além de pegar os comandos do firewall que vc colocou no rc.local, e transportar pra um arquivo "firewall.sh", na pasta que vc quiser. Depois é só colocar, no lugar desses comandos, a chamada ao arquivo que vc criou.
Vc sabe chamar um script dentro de outro?
-
Não sei nao! E parecido com c++ ou php tipo # require "/etc/firewall.sh"?
-
Não, basta colocar o nome do script dentro do outro. Assim:
/etc/firewall.sh