다른 IP 네트워크에서 DLNA 리소스에 액세스할 수 있도록 IP 주소에 별칭을 지정하는 방법

다른 IP 네트워크에서 DLNA 리소스에 액세스할 수 있도록 IP 주소에 별칭을 지정하는 방법

내가 가진 것

DLNA 리소스 192.168.1.100이 있는 홈 Wi-Fi 네트워크 192.168.1.0/24가 있습니다.
나는 이더넷이 있는 TV와 Wi-Fi와 이더넷 인터페이스를 모두 갖춘 넷북을 가지고 있습니다.
내 노트북을 라우터처럼 작동하게 만들고 싶습니다. 즉, Wi-Fi를 통해 홈 네트워크를 확보하고 이더넷 인터페이스를 통해 TV로 전달한다는 의미입니다.

내가 원하는 것

내 TV가 내 홈 네트워크에 있는 내 dlna 리소스를 인식하도록 하고 싶습니다.

내가 뭘 한거지

다음 서브넷을 사용하여 넷북의 eth0 인터페이스에 dhcp 서버를 설정했습니다.

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;
}

넷북에 eth0 인터페이스를 다음과 같이 설정했습니다.

ifconfig eth0 10.0.0.1/24 

전달을 활성화했습니다.

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

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

이제 내 TV에 10.0.0.5 IP 주소가 할당되어 인터넷을 검색할 수 있지만 TV에서 DLNA 리소스를 찾을 수 없습니다.

질문

리소스 검색이 10.0.0.1/24로만 진행되는 것 같아서 TV에서 192.168.1.100 리소스를 찾을 수 없습니다. 192.168.1.100이 10.0.0.10과 같은 별칭이 되도록 어떻게 별칭을 만들 수 있는지 알려주세요.

답변1

DLNA는 방송 전용입니다. 따라서 10.0.0.0/24 네트워크에서 192.168.1.0/24 네트워크로 브로드캐스트 패킷을 라우팅할 수 없습니다.

따라서 가장 좋은 접근 방식은 전혀 라우팅하지 않고 대신 노트북을 브리지로 사용하고 DLNA 리소스와 TV를 동일한 네트워크에 배치하는 것입니다. 다음은 단계입니다.

  1. 노트북에서 DHCP 서버 및 IP 테이블 규칙을 제거합니다.
  2. 노트북의 인터페이스를 브리지합니다. 이를 수행하는 방법은 배포판에 따라 다르므로 debian/ubuntu 구문을 제공하고 배포판에 맞게 조정할 수 있습니다.

이것은 /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

x현재 노트북 IP 주소로 바꾸세요 .

3) DHCP를 사용하도록 TV를 설정합니다.

그리고 그것으로 충분할 것입니다. 브리지는 노트북에서 나머지 네트워크까지의 Wi-Fi 연결을 통해 TV에서 노트북으로의 유선 연결을 연결합니다. 브리지이므로 DLNA 방송이 브리지를 통해 전달되고 응답이 돌아옵니다.

또한 브리징은 TV의 DHCP 브로드캐스트가 노트북도 통과한다는 것을 의미하므로 별도의 DHCP 서버가 필요하지 않고 홈 네트워크에 있는 DHCP 서버를 사용할 수 있습니다.

답변2

DHCP 옵션에 DNS 서버를 추가해 보세요. TV에 도메인 이름과 같은 다른 정보가 필요할 수도 있습니다. TV가 다른 라우터와 작동하는 경우 DHCP 모니터링 도구를 살펴보고(한 번도 알지 못함) DHCP 서버가 전달한 옵션을 확인하고 구성에 따라 이를 모방합니다.

또한, 그랬나요 echo 1 > /proc/sys/net/ipv4/ip_forward?

셋째, range스탠자가 실제로 보이는 range 10.0.05 10.0.0.10경우 range 10.0.0.5 10.0.0.10.

자, 약간의 숙제를 하고 나니 DLNA가 SSDP를 검색 프로토콜로 사용하는 것 같습니다. "Simple Service Discovery Protocol" Wikipedia 페이지에서:

SSDP는 HTTPU를 기반으로 하는 텍스트 기반 프로토콜입니다. UDP(사용자 데이터그램 프로토콜)를 기본 전송 프로토콜로 사용합니다. 서비스는 포트 번호 1900에서 특별히 지정된 IP 멀티캐스트 주소에 대한 멀티캐스트 주소 지정을 통해 호스팅 시스템에 의해 발표됩니다. IPv4에서 멀티캐스트 주소는 239.255.255.250[3]이고 IPv6을 통한 SSDP는 모든 범위에 대해 주소 세트 ff0X::c를 사용합니다. X로 표시된 범위.[4]

저는 Linux의 멀티캐스트 트래픽에 대한 경험이 많지 않지만 이것이 작동하려면 멀티캐스트 트래픽의 수신 및 전달을 활성화해야 할 것 같습니다.

관련 정보