Nowe posty

xx Problem ze sterownikami. (5)
2024-04-13, 21:25:16
xx Instalacja xfce4 (2)
2024-04-13, 16:20:17
xx Serie kompilacji bez instalacji dla “emerge” w Gentoo (2)
2024-04-08, 18:40:04
xx Plasma 6 w Neonie ssie trochę mniej ... (17)
2024-04-05, 10:03:46
xx Problem z Linux Lite po instalacji (3)
2024-04-03, 14:23:40
xx Jak właczyć num locka przy starcie systemu debian 12? (12)
2024-04-02, 17:43:54
xx Brak dźwieku w systemie. (5)
2024-04-02, 16:13:41
xx Dystrybucja pod HP Omen (7)
2024-03-29, 11:33:05
xx [Poradnik] Wyszukiwanie Sterowników (2)
2024-03-27, 21:08:23
xx Ile pingwinów? (1)
2024-03-27, 08:59:24

Autor Wątek: Separacja sieci LAN  (Przeczytany 8949 razy)

mes mariusz

  • Gość
Separacja sieci LAN
« dnia: 2013-12-06, 09:10:59 »
Witam.

Zrobiłem sobie Acces Pointa za poradnikiem:
http://osworld.pl/access-point-na-raspberry-pi/

Obecnie mam:

eth0 (RJ45) - WAN
wlan0 (wifi) - LAN1
DHCP przydziela w LAN1 adresy z zakresu 192.168.1.100 ... 192.168.1.200

Działa elegancko! :-)

Chcę dodać jeszcze jedną kartę sieciową by zrealizować odrębny, odseparowany LAN. Chcę uzyskać:

eth0 (RJ45) - WAN
wlan0 (wifi) - LAN1
wth1 (RJ45) - LAN2
DHCP przydziela w LAN1 adresy z zakresu 192.168.1.100 ... 192.168.1.200
DHCP przydziela w LAN2 adresy z zakresu 192.168.2.100 ... 192.168.2.200

Chcę aby LAN1 był całkowicie odseparowany od LAN2:
 - użytkownicy z LAN1 nie mają dostępu do tego co w sieci LAN2 i na odwrót
 - zarówno w sieci LAN1 oraz LAN2 jest dostęp do internetu

Problemy:

- nie wiem, jak zrobić, żeby jeden serwer DHCP (paczka dnsmasq) przyjdzielał dwie różne pule adresów na dwa różne interfejsy LAN (zakładam, że to kwestia konfiguracji /etc/dnsmasq.conf)
- zrealizować separację pomiędzy LAN1 i LAN2 ( pewnie coś w iptables /etc/init.d/firewall )
- jak zagwarantować, by:
 - karta wbudowana zawsze ładowała się jako eth0 (a nie na odwrót) - brak pomysłu
 - karta RJ45 na USB zawsze ładowała się jako eth1 (a nie na odwrót) - brak pomysłu

Offline roobal

  • Users
  • Guru
  • *****
  • Wiadomości: 2056
    • Zobacz profil
Separacja sieci LAN
« Odpowiedź #1 dnia: 2013-12-07, 00:45:19 »
Cytuj
nie wiem, jak zrobić, żeby jeden serwer DHCP (paczka dnsmasq) przyjdzielał dwie różne pule adresów na dwa różne interfejsy LAN (zakładam, że to kwestia konfiguracji /etc/dnsmasq.conf)
Nie korzystałem akurat z dnsmasq, ale podejrzewam, że robi się w podobny sposób jak w isc-dhcp-server. Ogólnie zasada działania jest taka, że serwer DHCP przypisuje adres z odpowiedniej puli z jakiego interfejsu dostał zapytanie, tzn. jeśli host podłączony jest pod LAN2, to dostanie adres z takiej sieci w jakiej jest interfejs, więc w konfiguracji serwera DHCP nie musisz nic robić w tej kwestii.

Cytuj
- zrealizować separację pomiędzy LAN1 i LAN2 ( pewnie coś w iptables /etc/init.d/firewall )
Tak, robisz to na poziomie iptables.

Cytuj
- karta wbudowana zawsze ładowała się jako eth0 (a nie na odwrót) - brak pomysłu
- karta RJ45 na USB zawsze ładowała się jako eth1 (a nie na odwrót) - brak pomysłu
Takie rzeczy powinno się dać ustawić w regułach dla udev.

mes mariusz

  • Gość
Separacja sieci LAN
« Odpowiedź #2 dnia: 2013-12-08, 12:39:12 »
Witam.

Poradziłem sobie z serwerem DHCP a dokładniej konfiguracją /etc/dnsmasq.conf

Okazuje się, że wystarczą wpisy:

 interface=wlan0
 dhcp-range=192.168.10.1,192.168.10.150,12h
 dhcp-host=00:11:22:33:44:55,User,192.168.10.101


Czyli WAN mam, LAN1 z DHCP mam. Mam też wolny interfejs eth1 na którym chcę aby dhcp przydzielał adresy 192.168.20.X  

WAN - eth0 - DHCP client - ok
LAN1 - wlan0 - DHCP 192.168.10.X - ok
LAN2 - eth1 - chciałbym zrobić DHCP 192.168.20.X

Nie wiem tylko, czy muszę jakoś wystartować jeszcze raz tą samą usługę DHCP z innym configiem, czy też wykorzystując jedną usługę i jeden config można obsłużyć 2 interfejsy.

Ktoś wie i podpowie ?

Offline roobal

  • Users
  • Guru
  • *****
  • Wiadomości: 2056
    • Zobacz profil
Separacja sieci LAN
« Odpowiedź #3 dnia: 2013-12-08, 17:58:35 »
Jak pisałem, nie korzystałem akurat z dnsmasq, ale w samej konfiguracji powinno dać się skonfigurować kilka podsieci, może spróbuj dodać nowy zakres adresów, czyli kolejny dhcp-range. Host wysyła zapytanie na adres rozgłoszeniowy 255.255.255.255, bo nie wie w jakiej sieci się znajduje, DHCP odbiera zapytanie na interfejsie eth1 i przydziela adres z zakresu z podsieci, w której jest eth1. Tak w skrócie działa protokół DHCP.

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 3056
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
Separacja sieci LAN
« Odpowiedź #4 dnia: 2013-12-08, 18:14:51 »
dnmasq automagicznie wie,  gdzie serwować jakie adresy.  Dodajesz normalnie dhcp-range dla eth1 a serwer sam sobie to rozdzieli.
Paweł Kraszewski
~Arch/Void/Gentoo/FreeBSD/OpenBSD/Specjalizowane customy

mes mariusz

  • Gość
Separacja sieci LAN
« Odpowiedź #5 dnia: 2013-12-11, 13:17:35 »
Zapomniałem dać znać ;-)

Działa elegancko. Wystarczą dwie linie w  /etc/dnsmasq.conf np.

Cytuj
dhcp-range=eth1,192.168.20.2,192.168.20.255,255.255.255.0,12h
dhcp-range=wlan0,192.168.10.2,192.168.10.255,255.255.255.0,12h
I firewall dający poprawne wyniki (w obu sieciach dostęp do internetu):

Cytuj
#!/bin/bash

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

iptables -F
iptables -X
iptables -t nat -X
iptables -t nat -F

iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A FORWARD -o lo -j ACCEPT

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.20.0/24 -j MASQUERADE


iptables-save
Teraz jeszcze muszę pogłówkować nad regułkami ewidentnie i skutecznie separującymi LAN1 na wlan0 oraz LAN2 na eth1.

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 3056
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
Separacja sieci LAN
« Odpowiedź #6 dnia: 2013-12-11, 18:48:35 »
Wyciachanie ruchu na forward powinno wystarczyć. Biorąc po uwagę, że forward widzi i interfejs wejściowy i wyjściowy, możesz wyciąć dwoma regułkami:

iptables -A FORWARD -i wlan0 -o eth1 -j DROP
iptables -A FORWARD -i eth1 -o wlan0 -j DROP
Paweł Kraszewski
~Arch/Void/Gentoo/FreeBSD/OpenBSD/Specjalizowane customy