Fórum Ubuntu Linux - PT
Suporte Técnico => Internet, Redes e Segurança => Tópico iniciado por: Rhyu em 02 de Junho de 2013, 11:38
-
Pessoal eu abri um servidor de game no meu ubuntu 10.04 onde outros jogadores se conectam ao meu servidor através das portas 7171 e 7172.Só que eles não tão conseguindo acesso como eu faço isso? Eu uso internet wifi da net virtua, e o meu servidor usa o ipfixo xxxxx.servegame.com
-
Olá Rhyu,
Você já conseguiu fazer isso funcionar alguma vez? :o Como você conseguiu um ip fixo usando virtua???
-
Então cara eu otserver de tibia, no windows ele funcionava normalmente, eu só liberava as portas 7171 e 7172 no modem e no firewall do windows e ele abria normalmente. Em relação ao no-ip é que no servidor você não usa o seu ip numerico , você entra no site do no-ip e cadastra um host exemplo server.servegame.com .Mas o ip de verdade é o seu mesmo.
Será que eu tenho que fazer isso,vi na net
Mais uma coisa, é necessário habilitar o roteamento de IP no seu kernel.
Edite como root o arquivo /etc/sysctl.conf e descomente a seguinte linha:
net.ipv4.ip_forward=1
-
Ah, tá, então vc não tem ip fixo. Vc só tem um cadastro no no-ip.
OK... diga lá, execute o comando abaixo e cole o resultado aqui pra gente saber se o ufw está ativo em sua máquina.
sudo ufw status
-
Estado: inativo
-
Blz. O programa do servidor de jogo está ativo? Se não estiver, ative-o. Execute os comandos abaixo e cole-os aqui.
sudo iptables -L -v -n
netstat -atun | grep 717
-
sudo iptables -L -v -n
Chain INPUT (policy ACCEPT 336K packets, 454M bytes)
pkts bytes target prot opt in out source destination
2431 473K ACCEPT tcp -- * * 192.168.0.0/24 0.0.0.0/0
46 2441 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
62 3400 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x17/0x02
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:7171
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:7172
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 211K packets, 20M bytes)
pkts bytes target prot opt in out source destination
segundo comando
tcp 0 0 127.0.1.1:7171 0.0.0.0:* OUÇA
tcp 0 0 127.0.0.1:7171 0.0.0.0:* OUÇA
tcp 0 0 127.0.1.1:7172 0.0.0.0:* OUÇA
tcp 0 0 127.0.0.1:7172 0.0.0.0:* OUÇA
-
62 3400 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x17/0x02
Você tem uma regra de bloqueio no seu firewall que está impedindo as próximas quatro regras de funcionar.
Você tem um script de firewall? Mostre-o.
-
Então cara eu não tenho scritp nenhum eu fui testando as coisas na net, eu apenas quero liberar as portas 7171, 7172 para que os jogadores possam se conectar ao servidor através dela.Se puder me ajudar
-
Só que eles tem que se conectar através dela usando o ip que eu pego la no no-ip
-
Assim fica dificil até pro zekkerj!
*Respondi só pra acompanhar o desenrolar deste tópico que muito me interessa.
-
andei pesquisando na net e existe um tal de bind para configurar dns não sei se tem haver com o que estou querendo , mas em todo caso é melhor esperer o zekker ou outro usuario mais experiente
-
Rhyu, você tem várias regras ativas de firewall. Essas regras parecem ter sido criadas via script. Identifique onde esse script, e eu te mostro o que você tem que consertar pra resolver seu problema.
Não tem que mexer em nada de bind, nem instalar pacote nenhum, nem usar nenhum aplicativo mágico. Só tem que consertar o seu script de firewall.
-
entao cara eu não tenho nenhum script eu simplesmente fui colocando as regras la pra ver se dava certo.Mas ai apaguei com o comando iptables -F
-
Então agora crie as regras na ordem correta. Use um script dessa vez, OK?
-
Pegue esse como base.
#!/bin/bash
#### Declarando variáveis ####
# Interface da Internet:
ifinternet="eth1"
# Interface da rede local
iflocal="eth0"
# IP da Internet
ip_internet="192.168.0.5"
# IP da Rede Local
rede_local="192.168.1.0/24"
#### Função "start" ####
iniciar(){
## Limpa todas as regras ##
iptables -F
iptables -t nat -F
iptables -t mangle -F
## Carrega módulos ##
modprobe ip_tables
modprobe iptable_mangle
modprobe iptable_nat
## Habilita roteamento no kernel ##
echo 1 > /proc/sys/net/ipv4/ip_forward
## Compartilha a internet ##
iptables -t nat -A POSTROUTING -o $ifinternet -j MASQUERADE
#### iptables -A INPUT -p icmp --icmp-type echo-request -j DROP ####
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
iptables -A INPUT -m state --state INVALID -j DROP
#### Regras de Firewall ####
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i $iflocal -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p udp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 3128 -j ACCEPT
iptables -A INPUT -p udp --dport 3128 -j ACCEPT
#### Redireciona tráfego para Squid ####
iptables -A INPUT -P tcp --dport 3128 -s $iflocal -j ACCEPT
iptables -A INPUT -p udp --dport 3128 -s $iflocal -j ACCEPT
iptables -t nat -A PREROUTING -i $iflocal -p tcp --dport 80 -j REDIRECT --to-port 3128
}
parar(){
iptables -F
iptables -F -t nat
}
case "$1" in
"start") iniciar ;;
"stop") parar ;;
"restart") parar; iniciar ;;
*) echo "Use os parâmetros start ou stop"
esac
Ajuste de acordo a sua necessidade.
Salve como /etc/init.d/firewall, dê permissão de execução ao arquivo sudo chmod +x /etc/init.d/firewall, e então inicie o serviço com sudo service firewall start, reinicie sudo service firewall restart ou pare sudo service firewall stop
-
cara to começando a achar que a net virtua bloqueou a porta 7171 e 7172 no modem thomson dwg850-4b porque eu libero as portas no forwarding e port triggers e quando vou testar nesse site http://www.yougetsignal.com/tools/open-ports/ ele fala que elas estão fechadas.Estou usando wireless
rogerio@rogerio-laptop:~$ ifconfig
eth0 Link encap:Ethernet Endereço de HW 80:ee:73:11:2f:98
UP BROADCAST RUNNING MULTICAST MTU:1500 Métrica:1
pacotes RX:0 erros:0 descartados:0 excesso:0 quadro:0
Pacotes TX:0 erros:0 descartados:0 excesso:0 portadora:0
colisões:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
IRQ:46
lo Link encap:Loopback Local
inet end.: 127.0.0.1 Masc:255.0.0.0
endereço inet6: ::1/128 Escopo:Máquina
UP LOOPBACK RUNNING MTU:16436 Métrica:1
pacotes RX:167 erros:0 descartados:0 excesso:0 quadro:0
Pacotes TX:167 erros:0 descartados:0 excesso:0 portadora:0
colisões:0 txqueuelen:0
RX bytes:16492 (16.4 KB) TX bytes:16492 (16.4 KB)
wlan0 Link encap:Ethernet Endereço de HW 00:02:72:9f:e8:0c
inet end.: 192.168.0.12 Bcast:192.168.0.255 Masc:255.255.255.0
endereço inet6: fe80::202:72ff:fe9f:e80c/64 Escopo:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Métrica:1
pacotes RX:17828 erros:0 descartados:0 excesso:0 quadro:0
Pacotes TX:16602 erros:0 descartados:0 excesso:0 portadora:0
colisões:0 txqueuelen:1000
RX bytes:18434050 (18.4 MB) TX bytes:2834906 (2.8 MB)
meu ipv4 que eu tenho que liberar no roteador e 192.168.0.12? certo?
-
Repita aquele comando que eu te passei ("sudo iptables -L -v -n") e cole o resultado aqui.
-
segue o resultado
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
-
E os processos, já estão rodando?
netstat -atun | grep 717
-
executei com os processos ja abertos
tcp 0 0 127.0.1.1:7171 0.0.0.0:* OUÇA
tcp 0 0 127.0.0.1:7171 0.0.0.0:* OUÇA
tcp 0 0 127.0.1.1:7172 0.0.0.0:* OUÇA
tcp 0 0 127.0.0.1:7172 0.0.0.0:* OUÇA
-
Vc tem rede local? Confirme que consegue conectar no jogo a partir da rede local.
-
em rede local ele funciona perfeitamente através do 127.0.0.1
-
Vc está testando na própria máquina? Este teste não vale, tem que testar a partir de outras máquinas...
-
estou testando de outra máquina na rede local e ele abre normalmente.
-
só por desencargo de consciencia fui testar o servidor no windows e ele abriu normalmente e outras pessoas de rede externa logaram no servidor através do ip gerado pelo noip , eu não entendo o que ocorre no linux que não funciona e quando vou verificar se as portas estão abertas no http://www.canyouseeme.org/ aparece Conection refused
-
Vc instalou no linux o cliente no-ip para rodar automaticamente e mudar o seu IP no no-ip?
-
sim amigo, o problema no linux é que as portas nem sequer abrem.Será que tem haver com o ubuntu ser 10.04?
-
Essa máquina está com ip fixo na rede interna?
-
se você esta falando do 192.168.0.12 sim. se for do externo não
-
vc configurou seu roteador pra redirecionar as conexões vindas da internet pra esse endereço?
-
fiz isto
http://img838.imageshack.us/img838/7404/97714440.png
Uploaded with ImageShack.us (http://imageshack.us)
http://img109.imageshack.us/img109/7272/ot2.png
Uploaded with ImageShack.us (http://imageshack.us)
---
Editado pela moderação: imagens maiores que 40 Kb.
-
olha como no Windows a porta fica aberta
http://img825.imageshack.us/img825/5901/porta1.png
Uploaded with ImageShack.us (http://imageshack.us)
Já no Linux fica fechada.
Será que se eu instalar algum firewall para administrar permissão não da certo? Porque no windows quando eu abro o servidor só clico em permitir acesso e as portas já ficam liberadas.
---
Editado pela moderação: imagem maior que 40Kb.
-
No Windows você recebe o mesmo IP que no Linux?
-
sim 192.168.0.12 em ambos
-
o ifconfig é esse
eth0 Link encap:Ethernet Endereço de HW 80:ee:73:11:2f:98
UP BROADCAST RUNNING MULTICAST MTU:1500 Métrica:1
pacotes RX:0 erros:0 descartados:0 excesso:0 quadro:0
Pacotes TX:0 erros:0 descartados:0 excesso:0 portadora:0
colisões:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
IRQ:46
lo Link encap:Loopback Local
inet end.: 127.0.0.1 Masc:255.0.0.0
endereço inet6: ::1/128 Escopo:Máquina
UP LOOPBACK RUNNING MTU:16436 Métrica:1
pacotes RX:12 erros:0 descartados:0 excesso:0 quadro:0
Pacotes TX:12 erros:0 descartados:0 excesso:0 portadora:0
colisões:0 txqueuelen:0
RX bytes:720 (720.0 B) TX bytes:720 (720.0 B)
wlan0 Link encap:Ethernet Endereço de HW 00:02:72:9f:e8:0c
inet end.: 192.168.0.12 Bcast:192.168.0.255 Masc:255.255.255.0
endereço inet6: fe80::202:72ff:fe9f:e80c/64 Escopo:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Métrica:1
pacotes RX:2079 erros:0 descartados:0 excesso:0 quadro:0
Pacotes TX:1842 erros:0 descartados:0 excesso:0 portadora:0
colisões:0 txqueuelen:1000
RX bytes:1833348 (1.8 MB) TX bytes:308781 (308.7 KB)
o 192.168.0.12 é o mesmo no windows.Será que tenho que instalar um firewall pra gerenciar as portas apesar de ter o iptables?
-
Você no momento está sem firewall; isso significa que os acessos estão totalmente liberados. Instalar um firewall só vai cortar acesso, não vai dar acesso.
Investigue outros problemas... por exemplo: esse servidor acessa normalmente a internet?
Vi que você redireciona outras portas também, como a porta 80. Esse redirecionamento funciona?
-
então a porta 80 na verdade nem precisaria estar aberta, só preciso da 7171 e 7172 que são as que não abrem no linux.Mas a porta 80 ta funcionando normal no linux
-
... se a porta 80 funciona, então o redirecionamento funciona. Seria o caso de fazer uma captura de tráfego, com o tcpdump (linha de comandos) ou o wireshark (modo gráfico) pra ver o que está acontecendo.
pode fazer o seguinte... execute o comando abaixo, cole o resultado aqui.
sudo apt-get install tcpdump
sudo tcpdump -n '(tcp and (port 7171 or port 7172))'
Depois repete o teste das portas, veja se consegue capturar o tráfego vindo da internet.
-
nenhum tráfego mesmo com servidor aberto e fazendo os testes
Error: I could not see your service on 187.106.60.25 on port (7171)
Reason: Connection refused <= teste da porta
rogerio@rogerio-laptop:~$ sudo tcpdump -n '(tcp and (port 7171 or port 7172))'
tcpdump: WARNING: eth0: no IPv4 address assigned
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
ta rodando até agora
-
Cara, agora que observei... vc está usando wireless pra isso???
-
sim amigo estou usando wireless, é o que usava normalmente no windows.
-
só me confirme... a máquina windows é a mesma máquina, em dual boot, correto?
-
exatamente. dual boot windows 7 e ubuntu 10.04
-
então se funciona no windows tem que funcionar no linux, pq a configuração externa de redirecionamento é a mesma.
a máquina não tem firewall ativo, portanto o problema tem que ser no processo em si. Pode ser que ele esteja associado com o endereço 'localhost', o que explica pq não responde a requisições externas.
Nesse caso, aconselho você a entrar em contato com a comunidade do seu jogo, e verificar se há algum parâmetro ou configuração adicional que precisa ser feita.
-
vou verificar isso mas em todo caso, se as portas estão abertas porque quando consulto aqui http://www.yougetsignal.com/tools/open-ports/ aparece que estão fechadas no linux?
-
pq elas estão fechadas no linux, pq o programa não as está abrindo corretamente.
Já eliminamos todas as possibilidades do problema ser fora do programa, agora você tem que procurar o problema dentro dele, não no linux.
-
então o que pode estar acontecendo é que para o programa abra as portas do linux ele segue parametros diferente do windows entao?
-
não conheço o programa. conheço o firewall; posso te afirmar que ele está desativado, pela última saída que você passou.
o programa, você vai ter que consultar na comunidade dele, supondo que seja código aberto.
-
zekker será que não pode ser um problema com o kernel e rede no 10.04? porque tipo eu instalei o 10.04 ai o kernel que vinha com ele não reconhecia o wifi ai atualizei o kernel pro 3.20 será que pode ter alguma coisa a ver com isso?
-
A essa altura do campeonato? O 10.04 já está pra perder suporte. Qualquer bug grave como esse já teria sido descoberto.
É o seu programa, consulte a comunidade dele.