1

Temat: Przekierowanie portu dla LAN i VPN

Witam
Mam na ruterze OpenVPN który udostępnia w LANie zasoby VPN, ustawione wg poradnika http://rpc.one.pl/index.php/lista-artyk … -w-openwrt

Jednak teraz zaszła potrzeba by udostępnić port komputera z wewnętrznego LANu by był widoczny w VPN.
Ogólnie prosty redirect w openvpn załatwia sprawę - dodałem do /etc/config/firewall:

config redirect
    option name 'port'
    option src 'vpn'
    option proto 'tcp'
    option src_dport '8080'
    option dest_port '8080'
    option dest_ip '10.0.0.122'

Dzięki temu mam dostęp w VPN poprzez adres ip_rutera_vpn:8080 do usługi.
Jednak gdy jestem podłączony do LAN i użyje tego samego adresu to nie działa, muszę zestawić dodatkowe połaczenie VPN by wejśc tam.
Szukam metody by niezaleznie czy jestem w LAN czy VPN dostać się do 8080 po ip rutera z vpn.
Dodatnie kolejnej reguły

config redirect
    option name 'port-from-lan'
    option src 'lan'
    option proto 'tcp'
    option src_dport '8080'
    option dest_port '8080'
    option dest_ip '10.0.0.122'


niestety nie pomaga.

Ma ktoś jakieś pomysły co jeszcze dodać?

Pozdrawiam

2

Odp: Przekierowanie portu dla LAN i VPN

O w tym lanie jest twój serwer vpn to wydaje mi się że musisz pobawić się tzw. NAT loopback'iem
https://morfikov.github.io/post/nat-ref … w-openwrt/

3

Odp: Przekierowanie portu dla LAN i VPN

viper_lasser napisał/a:

O w tym lanie jest twój serwer vpn to wydaje mi się że musisz pobawić się tzw. NAT loopback'iem
https://morfikov.github.io/post/nat-ref … w-openwrt/

Serwer vpn jest poza lan. Ruter jest tylko klientem.

4

Odp: Przekierowanie portu dla LAN i VPN

Wybacz pytanie: po co?
VPN umożliwia podłączenie komputera do sieci, ale również połączenie podsieci ze sobą.
Co to nam daje?
W sieci A jest komputer alicja, który udostępnia usługę na porcie 8080.
Komputery w sieci A łączą się z nim poprzez alicja:8080.
Poprzez VPN dołączamy sieć B i komputery z tej sieci też łączą się z alicja:8080 w ten sam sposób.
Wystarczy odpowiednio ustawić routing oraz DNS.
Zapamiętaj: NAT to zło konieczne.

GUI jest przereklamowane

ASUS WL-500gP v2, TP-Link TL-MR3420 v2, TP-Link TL-WR1043ND v3, TP-Link TL-WDR4300 v1, D-Link DWR-921 C3,
Netgear R6220

5

Odp: Przekierowanie portu dla LAN i VPN

To pytanie do mnie?
Własnie chce uzyskać to by móc podłączyć się przez alicja:8080 (w moim przypadku ip_rutera_vpn:8080).
Serwera DNS w sieci VPN nie mam żadnego (poza ruterem dla LANu).

6

Odp: Przekierowanie portu dla LAN i VPN

rysi3k napisał/a:

To pytanie do mnie?

Tak smile

rysi3k napisał/a:

Własnie chce uzyskać to by móc podłączyć się przez alicja:8080 (w moim przypadku ip_rutera_vpn:8080).
Serwera DNS w sieci VPN nie mam żadnego (poza ruterem dla LANu).

Ja ten problem rozwiązałem ustawiając właściwe trasy routingu.
Nie zapomnij zezwolić na routing do i z VPN w firewallu:

# cat /etc/config/firewall
[...]
config forwarding
    option src 'lan'
    option dest 'vpn'

config forwarding
    option src 'vpn'
    option dest 'lan'
[...]

gdzie 'vpn' to nazwa jakiej użyłeś w konfiguracji sieci:

# cat /etc/config/network
[...]
config interface 'vpn'
    option ifname 'tun0'
    option proto 'none'
[...]

Nie podam ci gotowca na routing bo musiałbym wiedzieć więcej o twojej sieci.
Najlepszy byłby schemat.

GUI jest przereklamowane

ASUS WL-500gP v2, TP-Link TL-MR3420 v2, TP-Link TL-WR1043ND v3, TP-Link TL-WDR4300 v1, D-Link DWR-921 C3,
Netgear R6220

7

Odp: Przekierowanie portu dla LAN i VPN

viper_lasser napisał/a:

O w tym lanie jest twój serwer vpn to wydaje mi się że musisz pobawić się tzw. NAT loopback'iem
https://morfikov.github.io/post/nat-ref … w-openwrt/

Dzięki! pobawiłem się tym i dodając regułę

iptables -t nat -A zone_lan_postrouting -s 10.0.0.0/24 -d 10.0.0.122/32 -p tcp
 -m tcp --dport 8080 -m comment --comment "port 8080 (reflection)" -j SNAT --to-source 10.0.0.1

udało się naprawić mój przypadek. Ciekawe, że tam koleś napisał, że openwrt to robi sam, skoro musiałem to dodać ręcznie.

8

Odp: Przekierowanie portu dla LAN i VPN

A ja wciąż twierdzę, że VPN jest po to by zrezygnować z NAT

GUI jest przereklamowane

ASUS WL-500gP v2, TP-Link TL-MR3420 v2, TP-Link TL-WR1043ND v3, TP-Link TL-WDR4300 v1, D-Link DWR-921 C3,
Netgear R6220

9

Odp: Przekierowanie portu dla LAN i VPN

Jak masz pomysł jak to zrobić bez NAT to chętnie spróbuję.
Moja sieć:
https://i.imgur.com/LT7EjGf.png

/etc/config/firewall

cat firewall
...
config zone
    option name 'vpn'
    list network 'vpn'
    option input 'ACCEPT'
    option output 'ACCEPT'
    option forward 'REJECT'
    option mtu_fix '1'
    option masq '1'

config forwarding
    option src 'lan'
    option dest 'wan'

config forwarding
    option src 'lan'
    option dest 'vpn'

config forwarding
    option src 'vpn'
    option dest 'lan'

config redirect
    option name 'port8080'
    option src 'vpn'
    option dest 'lan'
    option proto 'tcp'
    option src_dport '8080'
    option dest_port '8080'
    option dest_ip '10.0.0.122'
    option target 'DNAT'

config redirect
    option name 'port8080-from-lan'
    option src 'lan'
    option dest 'lan'
    option proto 'tcp'
    option src_dport '8080'
    option dest_port '8080'
    option dest_ip '10.0.0.122'
    option target 'DNAT'

/etc/config/network

config interface 'lan'
    option ifname 'eth0.1'
    option force_link '1'
    option type 'bridge'
    option proto 'static'
    option ipaddr '10.0.0.1'
    option netmask '255.255.255.0'
    option ip6assign '60'

config interface 'vpn'
    option ifname 'tun0'
    option proto 'none'

10

Odp: Przekierowanie portu dla LAN i VPN

1. Zapomnij o 10.88.3.1:8080 i zapamiętaj 10.0.0.122:8080
2. W konfiguracji servera OpenVPN dodaj następujące opcje

push "route 10.0.0.0 255.255.255.0 <IP_server_VPN> 10"
push "route 10.88.0.0 255.255.0.0 <IP_server_VPN> 10"
route 10.0.0.0 255.255.255.0 10.88.3.1

Dwie pierwsze załatwiają routing u klientów VPN. Komputer <IP_server_VPN> jest routerem do sieci 10.0.0.0/24 oraz 10.88.0.0/16.
Ostatnia opcja ustawia routing na serwerze VPN do sieci 10.0.0.0/24 via klient VPN o IP=10.88.3.1.
Komputery z sieci 10.0.0.0/24 mogą połączyć się z 10.0.0.122 bezpośrednio. pozostałe komputery korzystają z pośrednictwa routerów.
<IP_server_VPN> to IP interface tun0 na serwerze VPN.

Ja mam w ten sposób podłączone przez VPN dwie sieci do serwera, który sam obsługuje dodatkowo dwie sieci lokalne.

GUI jest przereklamowane

ASUS WL-500gP v2, TP-Link TL-MR3420 v2, TP-Link TL-WR1043ND v3, TP-Link TL-WDR4300 v1, D-Link DWR-921 C3,
Netgear R6220

11

Odp: Przekierowanie portu dla LAN i VPN

Ja mam inny problem. Nie mogę dostać się do sieci wewnętrznej. VPN się zestawia wszystko jest ok sam router vpn ma dostęp do sieci pinguje hosty po stronie sieci wewnętrznej. Moja topologia to:

Router mikrotik od dostawcy internetu sieć 192.168.120.0 do niego podłączony router 192.168.30.1 i on rozdaje Net i ma włączone DHCP. Sieć wewnętrzna to 192.168.30.0. Postawiłem dodatkowy router 192.168.30.10 z openwrt wpięty do mikrotika i na nim jest server OpenVPN. Na routerze mikrotik jest przekierowanie porów z zewnątrz tak aby zestawić połączenie z vpn i ono się zestawia. Nie mogę dostać się po takim połączeniu do sieci wewnętrznej 192.168.30.0 ale router z vpn 192.168.30.10 może.

12

Odp: Przekierowanie portu dla LAN i VPN

Moja konfiguracja: /etc/firewall
config defaults
    option syn_flood '1'
    option input 'ACCEPT'
    option output 'ACCEPT'
    option forward 'REJECT'

config zone
    option name 'lan'
    list network 'lan'
    option input 'ACCEPT'
    option output 'ACCEPT'
    option forward 'ACCEPT'

config zone
    option name 'wan'
    list network 'wan'
    list network 'wan6'
    option input 'REJECT'
    option output 'ACCEPT'
    option forward 'REJECT'
    option masq '1'
    option mtu_fix '1'

config forwarding
    option src 'lan'
    option dest 'wan'

config rule
    option name 'Allow-DHCP-Renew'
    option src 'wan'
    option proto 'udp'
    option dest_port '68'
    option target 'ACCEPT'
    option family 'ipv4'

config rule
    option name 'Allow-Ping'
    option src 'wan'
    option proto 'icmp'
    option icmp_type 'echo-request'
    option family 'ipv4'
    option target 'ACCEPT'

config rule
    option name 'Allow-IGMP'
    option src 'wan'
    option proto 'igmp'
    option family 'ipv4'
    option target 'ACCEPT'

config rule
    option name 'Allow-DHCPv6'
    option src 'wan'
    option proto 'udp'
    option src_ip 'fe80::/10'
    option src_port '547'
    option dest_ip 'fe80::/10'
    option dest_port '546'
    option family 'ipv6'
    option target 'ACCEPT'

config rule
    option name 'Allow-MLD'
    option src 'wan'
    option proto 'icmp'
    option src_ip 'fe80::/10'
    list icmp_type '130/0'
    list icmp_type '131/0'
    list icmp_type '132/0'
    list icmp_type '143/0'
    option family 'ipv6'
    option target 'ACCEPT'

config rule
    option name 'Allow-ICMPv6-Input'
    option src 'wan'
    option proto 'icmp'
    list icmp_type 'echo-request'
    list icmp_type 'echo-reply'
    list icmp_type 'destination-unreachable'
    list icmp_type 'packet-too-big'
    list icmp_type 'time-exceeded'
    list icmp_type 'bad-header'
    list icmp_type 'unknown-header-type'
    list icmp_type 'router-solicitation'
    list icmp_type 'neighbour-solicitation'
    list icmp_type 'router-advertisement'
    list icmp_type 'neighbour-advertisement'
    option limit '1000/sec'
    option family 'ipv6'
    option target 'ACCEPT'

config rule
    option name 'Allow-ICMPv6-Forward'
    option src 'wan'
    option dest '*'
    option proto 'icmp'
    list icmp_type 'echo-request'
    list icmp_type 'echo-reply'
    list icmp_type 'destination-unreachable'
    list icmp_type 'packet-too-big'
    list icmp_type 'time-exceeded'
    list icmp_type 'bad-header'
    list icmp_type 'unknown-header-type'
    option limit '1000/sec'
    option family 'ipv6'
    option target 'ACCEPT'

config include
    option path '/etc/firewall.user'
    option reload '1'

config rule
    option src 'wan'
    option dest 'lan'
    option proto 'esp'
    option target 'ACCEPT'

config rule
    option src 'wan'
    option dest 'lan'
    option dest_port '500'
    option proto 'udp'
    option target 'ACCEPT'

config include
    option type 'script'
    option path '/usr/lib/gargoyle_firewall_util/gargoyle_additions.firewall'
    option family 'IPv4'
    option reload '1'

config include 'openvpn_include_file'
    option path '/etc/openvpn.firewall'
    option reload '1'

config zone 'vpn_zone'
    option name 'vpn'
    option network 'vpn'
    option input 'ACCEPT'
    option output 'ACCEPT'
    option forward 'ACCEPT'
    option mtu_fix '1'
    option masq '1'

config forwarding 'vpn_lan_forwarding'
    option src 'lan'
    option dest 'vpn'

config forwarding 'lan_vpn_forwarding'
    option src 'vpn'
    option dest 'lan'

config remote_accept 'ra_openvpn'
    option zone 'wan'
    option local_port '1194'
    option remote_port '1194'
    option proto 'udp'

config forwarding 'vpn_wan_forwarding'
    option src 'vpn'
    option dest 'wan'

config forwarding 'wan_vpn_forwarding'
    option src 'wan'
    option dest 'vpn'

config remote_accept 'ra_443_443'
    option local_port '443'
    option remote_port '443'
    option proto 'tcp'
    option zone 'wan'

config remote_accept 'ra_22_22'
    option local_port '22'
    option remote_port '22'
    option proto 'tcp'
    option zone 'wan'

13

Odp: Przekierowanie portu dla LAN i VPN

Moja konfiguracja: /etc/network


config interface 'loopback'
    option ifname 'lo'
    option proto 'static'
    option ipaddr '127.0.0.1'
    option netmask '255.0.0.0'

config globals 'globals'
    option ula_prefix 'fd71:2852:963d::/48'

config interface 'lan'
    option force_link '1'
    option type 'bridge'
    option proto 'static'
    option netmask '255.255.255.0'
    option ip6assign '60'
    option dns '8.8.4.4 8.8.8.8'
    option ipaddr '192.168.30.10'
    option ifname 'eth1'

config interface 'wan6'
    option ifname 'eth0'
    option proto 'dhcpv6'

config switch
    option name 'switch0'
    option reset '1'
    option enable_vlan '1'

config switch_vlan
    option device 'switch0'
    option vlan '1'
    option ports '0 1 2 3 4'

config interface 'vpn'
    option ifname 'tun0'
    option proto 'none'
    option defaultroute '0'
    option peerdns '0'

config interface 'wan'
    option ifname 'eth0'
    option proto 'dhcp'
    option macaddr 'a4:2b:b0:b0:42:51'
    option ipv6 '0'

14

Odp: Przekierowanie portu dla LAN i VPN

Moja konfiguracja openvpn_gargoyle:


config server 'server'
    option internal_ip '10.8.0.1'
    option internal_mask '255.255.255.0'
    option port '1194'
    option proto 'udp'
    option cipher 'AES-256-CBC'
    option duplicate_cn 'false'
    option redirect_gateway 'true'
    option subnet_access 'true'
    option subnet_ip '192.168.30.0'
    option subnet_mask '255.255.255.0'
    option client_to_client 'true'
    option enabled 'true'

config client 'client'
    option enabled 'false'

config allowed_client 'osir2'
    option id 'osir2'
    option name 'osir2'
    option ip '10.8.0.3'
    option remote '192.168.120.253'
    option prefer_vpngateway '1'
    option enabled 'true'

config allowed_client 'osir3'
    option id 'osir3'
    option name 'osir3'
    option ip '10.8.0.2'
    option remote '192.168.120.253'
    option prefer_vpngateway '0'
    option enabled 'true'

15

Odp: Przekierowanie portu dla LAN i VPN

@Gr4nd0 próbuję zrobić coś jak napisałeś z tym, że na razie bez modyfikacji konfiguracji OpenVPN tylko "na sucho" dodając routy na jednym z hostów które są podpięte do OpenVPN (10.88.1.1) by dostały się do hosta LAN (10.0.0.122).
na 10.88.1.1 zrobiłem

route add -host 10.0.0.2 gw 10.88.3.1

mam teraz

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         178.....  0.0.0.0         UG    0      0        0 eth0
10.0.0.2        10.88.3.1       255.255.255.255 UGH   0      0        0 tun0
10.88.0.0       0.0.0.0         255.255.0.0     U     0      0        0 tun0
178....   0.0.0.0         255.255.255.255 UH    0      0        0 eth0

jednak jak robie ping 10.0.0.2 to nie idzie nic.
Na ruterze 10.88.3.1 nie widze by tcpdump coś dostawał. Jednak pakiety ICMP z 10.88.1.1 do 10.0.0.2 niby jakieś idą

10:59:31.662900 IP 10.88.1.1 > 10.0.0.2: ICMP echo request, id 26035, seq 159, length 64

Coś pominąłem żeby to ruszyło?

16

Odp: Przekierowanie portu dla LAN i VPN

A ustawiłeś trasę powrotną?
Jak "request" dotrze do adresata, to adresat musi odesłać "reply"

GUI jest przereklamowane

ASUS WL-500gP v2, TP-Link TL-MR3420 v2, TP-Link TL-WR1043ND v3, TP-Link TL-WDR4300 v1, D-Link DWR-921 C3,
Netgear R6220