Como aliasar um endereço IP para tornar o recurso DLNA acessível a partir de uma rede IP diferente

1

o que tenho

Eu tenho uma rede wifi doméstica 192.168.1.0/24 tendo o recurso DLNA 192.168.1.100.
Eu tenho uma TV com ethernet e um netbook com interfaces wi-fi e ethernet. Eu quero fazer meu notebook se comportar como um roteador. Isso significa que ele obtém minha rede doméstica via wifi e a encaminha pela interface ethernet para a TV.

o que eu quero

Eu quero que minha tv reconheça meu recurso dlna em minha rede doméstica.

o que fiz

Eu configurei um servidor dhcp na interface eth0 do netbook com a seguinte sub-rede:

subnet 10.0.0.1 netmask 255.255.255.0 {
  range 10.0.0.5 10.0.0.10;
  option routers 10.0.0.1;
}

Eu configurei minha interface eth0 no netbook assim:

ifconfig eth0 10.0.0.1/24 

Eu habilitei o encaminhamento:

echo 1 > /proc/sys/net/ipv4/ip_forward

Adicionei regras de encaminhamento ao iptables:

iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPT
iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT

Agora, minha TV recebe um endereço IP 10.0.0.5 e consigo navegar na Internet, mas minha TV não consegue encontrar nenhum recurso DLNA.

Pergunta

Acho que a descoberta de recursos só passa por 10.0.0.1/24, então minha TV não consegue encontrar o recurso 192.168.1.100. Por favor, me diga como eu posso fazer algum tipo de apelido, então 192.168.1.100 se tornou um alias como 10.0.0.10

    
por 2r2w 07.05.2012 / 15:26

2 respostas

2

DLNA é transmitido apenas. Portanto, você não poderá rotear pacotes de transmissão da rede 10.0.0.0/24 para a rede 192.168.1.0/24.

A melhor abordagem seria, portanto, não direcionar, mas usar seu notebook como uma ponte e colocar o recurso DLNA e a TV na mesma rede. Estas são as etapas.

  1. Livre-se do servidor dhcp e das regras da tabela IP do notebook
  2. Conecte as interfaces do notebook. Como você faz isso é dependente da distribuição, então eu vou dar a sintaxe debian / ubuntu e você pode se adaptar à sua distro.

Isso é /etc/network/interfaces :

auto lo br0 

iface lo inet loopback

iface br0 inet static
    bridge_ports eth0 wlan0
    address 192.168.1.x
    netmask 255.255.255.0

Substitua x pelo endereço IP atual do seu laptop.

3) Configure sua TV para usar o DHCP

E isso deve ser o suficiente. A ponte unirá a conexão com fio da TV ao laptop com a conexão Wi-Fi do laptop ao resto da rede. Como é uma ponte, as transmissões DLNA serão encaminhadas pela ponte, e as respostas voltarão.

Além disso, o bridging significa que o DHCP transmite a partir da TV também vai atravessar o laptop, e é por isso que você não precisa de um servidor DHCP separado, ele pode usar o da sua rede doméstica.

    
por 07.05.2012 / 15:50
0

Tente adicionar servidores DNS às suas opções de DHCP. Sua TV também pode precisar de outra coisa, como nome de domínio. Se sua TV funcionasse com algum outro roteador, eu procuraria em uma ferramenta de monitoramento DHCP (não sei de uma mão), veria as opções que o servidor DHCP distribuía e imitá-las com sua configuração.

Além disso, você fez echo 1 > /proc/sys/net/ipv4/ip_forward ?

Em terceiro lugar, se a sua estrofe range realmente se parecer com range 10.0.05 10.0.0.10 , ela provavelmente precisará ser alterada para range 10.0.0.5 10.0.0.10 .

Tudo bem, depois de fazer um pouco de lição de casa, parece que o DLNA usa o SSDP como um protocolo de descoberta. Na página da Wikipedia "Protocolo de descoberta de serviço simples":

SSDP is a text-based protocol based on HTTPU. It uses the User Datagram Protocol (UDP) as the underlying transport protocol. Services are announced by the hosting system with multicast addressing to a specifically designated IP multicast address at port number 1900. In IPv4, the multicast address is 239.255.255.250[3] and SSDP over IPv6 uses the address set ff0X::c for all scope ranges indicated by X.[4]

Eu não tenho muita experiência com tráfego multicast no Linux, mas parece que você precisa habilitar a recepção e o encaminhamento do tráfego multicast para que isso funcione.

    
por 07.05.2012 / 15:38