Temat: Ustawienie routingu pomiędzy interfejsami

Hej,

Czy ktoś mógłby mi pomóc w takiej kwestii - mam dwa interfejsy - jeden jest produkcyjny, a drugi serwisowy, oprócz tego jest interfejs WAN do komunikacji ze światem. Produkcyjny jest z sieci powiedzmy 10.47.1.0 i sam interfejs ma adres 10.47.1.100 i łączy się z urządzeniem 10.47.1.111. Drugi interfejs sieciowy jest do serwisowania urządzenia podpiętego pod router i może on mieć dowolny adres - załóżmy że aktualnie 192.168.20.1. Chodzi mi o taką konfigurację, w której osoba, która się podepnie kablem pod ten interfejs miała tylko i wyłącznie routing do urządzenia pod adresem 10.47.1.111 - nigdzie indziej, ani do WANu, ani gdziekolwiek w sieci lokalnej, którą router obsługuje. Wiem, że w OpenWrt te interfejsy są zrobione na VLANach, poza tym jest UCI i chciałbym się upewnić w jaki sposób można to zrealizować. Czy zwykłe polecenie route add jest w tym przypadku OK?

Kal

2

Odp: Ustawienie routingu pomiędzy interfejsami

Vlany służyły do podziału swwitcha na porty, a nie że domyślnie sieć była na vlanach.

Interfejsy są w określonych strefach firewalla czy nie? Jeżeli tak to zezwól na forwarding pomiędzy siecią serwisową a produkcyjną na adres 10.47.1.111

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

Odp: Ustawienie routingu pomiędzy interfejsami

network.loopback=interface
network.loopback.device='lo'
network.loopback.proto='static'
network.loopback.ipaddr='127.0.0.1'
network.loopback.netmask='255.0.0.0'
network.globals=globals
network.globals.ula_prefix='fd59:f51f:c834::/48'
network.@device[0]=device
network.@device[0].name='br-lan'
network.@device[0].type='bridge'
network.@device[0].ports='eth0.1'
network.@device[1]=device
network.@device[1].name='eth0.1'
network.@device[1].macaddr='a8:80:38:39:cb:f1'
network.lan=interface
network.lan.device='br-lan'
network.lan.proto='static'
network.lan.netmask='255.255.255.0'
network.lan.ip6assign='60'
network.lan.ipaddr='192.168.1.113'
network.lan.gateway='192.168.1.1'
network.wwan=interface
network.wwan.proto='ncm'
network.wwan.auto='0'
network.wwan.device='/dev/ttyUSB1'
network.@device[2]=device
network.@device[2].name='eth0.2'
network.@device[2].macaddr='a8:80:38:39:cb:f2'
network.@switch[0]=switch
network.@switch[0].name='switch0'
network.@switch[0].reset='1'
network.@switch[0].enable_vlan='1'
network.@switch_vlan[0]=switch_vlan
network.@switch_vlan[0].device='switch0'
network.@switch_vlan[0].vlan='1'
network.@switch_vlan[0].ports='4 6t'
network.@switch_vlan[1]=switch_vlan
network.@switch_vlan[1].device='switch0'
network.@switch_vlan[1].vlan='2'
network.@switch_vlan[1].ports='0 6t'
network.Service=interface
network.Service.proto='static'
network.Service.device='eth0.2'
network.Service.netmask='255.255.255.0'
network.Service.ipaddr='10.47.0.24'

4

Odp: Ustawienie routingu pomiędzy interfejsami

I ten w sekcji "Service" jest produkcyjny? Bo nazwa mówi coś innego smile

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

Odp: Ustawienie routingu pomiędzy interfejsami

Jest OK - tylko adresy pomyliłem.

6

Odp: Ustawienie routingu pomiędzy interfejsami

Jeszcze uci show firewall pokaż.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

Odp: Ustawienie routingu pomiędzy interfejsami

A nie mogę tego zrobić zwykłą tablicą routingu? Muszę na firewallu to robić?

firewall.@defaults[0]=defaults
firewall.@defaults[0].syn_flood='1'
firewall.@defaults[0].input='ACCEPT'
firewall.@defaults[0].output='ACCEPT'
firewall.@defaults[0].forward='REJECT'
firewall.@zone[0]=zone
firewall.@zone[0].name='lan'
firewall.@zone[0].input='ACCEPT'
firewall.@zone[0].output='ACCEPT'
firewall.@zone[0].forward='ACCEPT'
firewall.@zone[0].network='lan'
firewall.@zone[1]=zone
firewall.@zone[1].name='wan'
firewall.@zone[1].input='REJECT'
firewall.@zone[1].output='ACCEPT'
firewall.@zone[1].forward='REJECT'
firewall.@zone[1].masq='1'
firewall.@zone[1].mtu_fix='1'
firewall.@forwarding[0]=forwarding
firewall.@forwarding[0].src='lan'
firewall.@forwarding[0].dest='wan'
firewall.@rule[0]=rule
firewall.@rule[0].name='Allow-DHCP-Renew'
firewall.@rule[0].src='wan'
firewall.@rule[0].proto='udp'
firewall.@rule[0].dest_port='68'
firewall.@rule[0].target='ACCEPT'
firewall.@rule[0].family='ipv4'
firewall.@rule[1]=rule
firewall.@rule[1].name='Allow-Ping'
firewall.@rule[1].src='wan'
firewall.@rule[1].proto='icmp'
firewall.@rule[1].icmp_type='echo-request'
firewall.@rule[1].family='ipv4'
firewall.@rule[1].target='ACCEPT'
firewall.@rule[2]=rule
firewall.@rule[2].name='Allow-IGMP'
firewall.@rule[2].src='wan'
firewall.@rule[2].proto='igmp'
firewall.@rule[2].family='ipv4'
firewall.@rule[2].target='ACCEPT'
firewall.@rule[3]=rule
firewall.@rule[3].name='Allow-DHCPv6'
firewall.@rule[3].src='wan'
firewall.@rule[3].proto='udp'
firewall.@rule[3].dest_port='546'
firewall.@rule[3].family='ipv6'
firewall.@rule[3].target='ACCEPT'
firewall.@rule[4]=rule
firewall.@rule[4].name='Allow-MLD'
firewall.@rule[4].src='wan'
firewall.@rule[4].proto='icmp'
firewall.@rule[4].src_ip='fe80::/10'
firewall.@rule[4].icmp_type='130/0' '131/0' '132/0' '143/0'
firewall.@rule[4].family='ipv6'
firewall.@rule[4].target='ACCEPT'
firewall.@rule[5]=rule
firewall.@rule[5].name='Allow-ICMPv6-Input'
firewall.@rule[5].src='wan'
firewall.@rule[5].proto='icmp'
firewall.@rule[5].icmp_type='echo-request' 'echo-reply' 'destination-unreachable' 'packet-too-big' 'time-exceeded' 'bad-header' 'unknown-header-type' 'router-solicitation' 'neighbour-solicitation' 'router-advertisement' 'neighbour-advertisement'
firewall.@rule[5].limit='1000/sec'
firewall.@rule[5].family='ipv6'
firewall.@rule[5].target='ACCEPT'
firewall.@rule[6]=rule
firewall.@rule[6].name='Allow-ICMPv6-Forward'
firewall.@rule[6].src='wan'
firewall.@rule[6].dest='*'
firewall.@rule[6].proto='icmp'
firewall.@rule[6].icmp_type='echo-request' 'echo-reply' 'destination-unreachable' 'packet-too-big' 'time-exceeded' 'bad-header' 'unknown-header-type'
firewall.@rule[6].limit='1000/sec'
firewall.@rule[6].family='ipv6'
firewall.@rule[6].target='ACCEPT'
firewall.@rule[7]=rule
firewall.@rule[7].name='Allow-IPSec-ESP'
firewall.@rule[7].src='wan'
firewall.@rule[7].dest='lan'
firewall.@rule[7].proto='esp'
firewall.@rule[7].target='ACCEPT'
firewall.@rule[8]=rule
firewall.@rule[8].name='Allow-ISAKMP'
firewall.@rule[8].src='wan'
firewall.@rule[8].dest='lan'
firewall.@rule[8].dest_port='500'
firewall.@rule[8].proto='udp'
firewall.@rule[8].target='ACCEPT'

8

Odp: Ustawienie routingu pomiędzy interfejsami

Tablice routingu służą do kierowania pakietów na określone interfejsy, ale nie służą do ograniczenia ruchu dla jednego hosta i zablokowania czegoś innego.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

Odp: Ustawienie routingu pomiędzy interfejsami

Cezary napisał/a:

Tablice routingu służą do kierowania pakietów na określone interfejsy, ale nie służą do ograniczenia ruchu dla jednego hosta i zablokowania czegoś innego.

No tak, ale jeżeli jedyną ścieżką z danego interfejsu będzie pojedynczy host na drugim, to chyba cały inny ruch nie będzie możliwy i wtedy nie ma co filtrować, czy się mylę?

10

Odp: Ustawienie routingu pomiędzy interfejsami

To wtedy pakiety który nie łapią się na żadną route idą na trasę domyślną. A tego nie chciałeś.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

Odp: Ustawienie routingu pomiędzy interfejsami

no dobra, a możesz pomóc z tym ustawieniem firewalla. Dawno tego nie robiłem. Rozumiem że robię trzy strefy - Ogólna z dostępem do WAN oraz do urządzenia i innych hostów we własnej podsieci. Serwisowa - z dostępem do urządzenia i Produkcyjna zawierająca jeden host urządzenie. Czy da się to ustawić jakoś przez UCI? Docelowo będę musiał, ponieważ to będzie musiało się konfigurować skryptem na wielu urządzeniach.

12 (edytowany przez Cezary 2023-05-08 21:37:22)

Odp: Ustawienie routingu pomiędzy interfejsami

Masz sieci:
- wwan, nie jest aktywna, chyba że potem to w skryptach podnosiisz, ale nie bo masz:
- lan, z ustawionym gatewayem, więc rozumiem że internet masz po kablu doprowadzonym do jednego z portów lanu, tam gdzie masz też inne urządzenia
- Service, na statycznym adresie IP i jednym z portów i to jest ta sieć serwisowa.

Czyli mam rozumieć że potrzebujesz na zezwolenie dostępu z Service do jednego hosta w lan np. o adresie 192.168.1.40 i niczego więcej.

Robisz coś takiego: dodajesz strefę Service do firewalla bo nie jej nie masz

uci add firewall zone
uci set firewall.@zone[-1].name=Service
uci add_list firewall.@zone[-1].network=Service
uci set firewall.@zone[-1].input=ACCEPT
uci set firewall.@zone[-1].output=ACCEPT
uci set firewall.@zone[-1].forward=REJECT
uci commit

Domyślnie forward jest na reject czyli nic nie przechodzi. Oraz dodajesz zezwolenie na określony host, coś w rodzaju

uci add firewall rule
uci set firewall.@rule[-1].src='Service'
uci set firewall.@rule[-1].dest='lan'
uci set firewall.@rule[-1].dest_ip='192.168.1.40'
uci set firewall.@rule[-1].target='ACCEPT'
uci commit

Być może będziesz potrzebował też zezwolenia z lanu z tego hosta do sieci Sevice. Możesz to także spokojnie wyklikać sobie w Luci w zakładce "zapora sieciowa". Po tym oczywiście restart firewalla.

Tylko sprawdź to sobie i nie bazuj na tym że to gotowiec. Nie chce mi się już rekonfigurować sprzętu żeby zobaczyć czy to faktycznie będzie tak działać.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

Odp: Ustawienie routingu pomiędzy interfejsami

Ja ustawiłem w międzyczasie tak:

firewall.@zone[2]=zone
firewall.@zone[2].name='service_zone'
firewall.@zone[2].network='<eth0.2>'
firewall.@zone[2].input='ACCEPT'
firewall.@zone[2].output='ACCEPT'
firewall.@zone[2].forward='REJECT'
firewall.@rule[9]=rule
firewall.@rule[9].name='Allow_Webpage_Access'
firewall.@rule[9].src='service_zone'
firewall.@rule[9].dest='lan'
firewall.@rule[9].proto='tcp'
firewall.@rule[9].target='ACCEPT'
firewall.@rule[9].dest_port='8443'
firewall.@rule[10]=rule
firewall.@rule[10].name='Allow_Controller_Access'
firewall.@rule[10].src='service_zone'
firewall.@rule[10].dest='lan'
firewall.@rule[10].dest_ip='192.168.1.111'
firewall.@rule[10].proto='all'
firewall.@rule[10].target='ACCEPT'

Prawie działa - nie mogę nigdzie wchodzić poza www na routerze na porcie 8443. Natomiast router mnie nie dopuszcza do hostu 192.168.1.111 - connection refused.

14

Odp: Ustawienie routingu pomiędzy interfejsami

Źle - w network podaje się nazwę sekcji logicznej z networki, nie konkretny interfejs.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

Odp: Ustawienie routingu pomiędzy interfejsami

To jedna sprawa, ale druga była taka, że trzeba było ustawić maskaradę na strefie lan. teraz wszystko śmiga jak trzeba.