Jak dokonać aliasu adresu IP, aby zasób DLNA był dostępny z innej sieci IP

1

Co ja mam

Mam domową sieć Wi-Fi 192.168.1.0/24 o zasobach DLNA 192.168.1.100.
Mam telewizor z siecią Ethernet i netbook z interfejsem Wi-Fi i Ethernet.
Chcę, aby mój notebook zachowywał się jak router. Oznacza to, że łączy moją sieć domową przez Wi-Fi i przesyła ją przez interfejs Ethernet do telewizora.

czego chcę

Chcę, aby mój telewizor rozpoznał mój zasób DLNA w mojej sieci domowej.

co zrobiłem

Zainstalowałem serwer dhcp na interfejsie eth0 netbooka z następującą podsiecią:

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

Skonfigurowałem interfejs eth0 na netbooku w następujący sposób:

ifconfig eth0 10.0.0.1/24 

włączyłem przekazywanie:

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

Dodałem reguły przekazywania do 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

Teraz mój telewizor otrzymuje adres IP 10.0.0.5 i mogę przeglądać Internet, ale mój telewizor nie może znaleźć żadnych zasobów DLNA.

Pytanie

Myślę, że odnajdywanie zasobów odbywa się tylko przez 10.0.0.1/24, więc mój telewizor nie może znaleźć zasobu 192.168.1.100. Proszę, powiedz mi, jak mogę stworzyć jakiś alias, więc 192.168.1.100 stał się aliasem jak 10.0.0.10

2r2w
źródło

Odpowiedzi:

2

DLNA jest nadawany tylko. Dlatego nie będzie można przekierowywać pakietów rozgłoszeniowych z sieci 10.0.0.0/24 do sieci 192.168.1.0/24.

Najlepszym podejściem byłoby zatem, aby w ogóle nie trasować, ale zamiast tego użyć notebooka jako mostu i umieścić zasoby DLNA i telewizor w tej samej sieci. To są kroki.

  1. Pozbądź się serwera dhcp i reguł tabeli IP z notebooka
  2. Połącz interfejsy notebooka. Sposób, w jaki to robisz, zależy od dystrybucji, więc dam składnię debian / ubuntu i będziesz mógł dostosować się do swojej dystrybucji.

To jest /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

Zastąp xobecny adres IP laptopa.

3) Ustaw telewizor na korzystanie z DHCP

I to powinno wystarczyć. Mostek połączy połączenie przewodowe z telewizora do laptopa z połączeniem Wi-Fi z laptopa do reszty sieci. Ponieważ jest to most, transmisje DLNA będą przekazywane przez most, a odpowiedzi wrócą.

Również mostkowanie oznacza, że ​​transmisje DHCP z telewizora będą również przechodzić przez laptop, dlatego nie potrzebujesz osobnego serwera DHCP, może on używać tego w sieci domowej.

Paweł
źródło
0

Spróbuj dodać serwery DNS do opcji DHCP. Twój telewizor może także potrzebować czegoś innego, na przykład nazwy domeny. Jeśli twój telewizor działał z innym routerem, zajrzałbym do narzędzia do monitorowania DHCP (nie znam jednej ręki), zobaczę, jakie opcje serwer DHCP wydał i naśladuj je w konfiguracji.

Ty też echo 1 > /proc/sys/net/ipv4/ip_forward?

Po trzecie, jeśli Twoja rangezwrotka naprawdę wygląda tak, range 10.0.05 10.0.0.10że prawdopodobnie należy ją zmienić na range 10.0.0.5 10.0.0.10.

W porządku, po odrobinie pracy domowej DLNA używa SSDP jako protokołu wykrywania. Na stronie Wikipedii „Simple Service Discovery Protocol”:

SSDP to protokół tekstowy oparty na HTTPU. Wykorzystuje protokół UDP (User Datagram Protocol) jako podstawowy protokół transportowy. Usługi są ogłaszane przez system hostingowy z adresowaniem multiemisji na specjalnie wyznaczony adres multiemisji IP na porcie o numerze 1900. W IPv4 adres multiemisji to 239.255.255.250 [3], a SSDP przez IPv6 używa zestawu adresów ff0X :: c dla całego zakresu zakresy oznaczone X. [4]

Nie mam dużego doświadczenia z ruchem multiemisji w Linuksie, ale wygląda na to, że prawdopodobnie musisz włączyć odbiór i przekazywanie ruchu multiemisji, aby to zadziałało.

LawrenceC
źródło
Włączyłem już opcje przekazywania. Zapomniałem wspomnieć . Zaktualizuje pytanie
2r2w
zasięg jest w porządku. to tylko błąd w pisaniu
2r2w
Dodałem mój router sieci domowej 192.168.1.1 jako DNS w dhcpd.conf, również zapomniałem o tym wspomnieć. Ale myślę, że to nie ma sensu.
2r2w