Pagina 1 van 1

shorewall bepaald verkeer over openvpn tunnel

Geplaatst: di dec 08, 2020 8:33 pm
door superpeter
hallo allemaal.

ik heb men router gebaseerd op shorewall werkende.
nu wil ik dat verkeer voor ip range 44.0.0.0 subnet 255.0.0.0 via ene openvpn client tunnel word gestuurd.
echter wel alleen voor de ip adressen die liggen tussen 172.16.1.1 tot 172.16.1.254
met andere woorden de apparaten in men netwerk die een ip adres hebben ge kregen tussen 172.16.1.1 tot 172.16.1.254 wel verbinding kunnen maken met apparaten die op het openvpn netwerk zitten.
maar andere aparaten dus niet.
is dit mogelijk?
en zo ja wat/waar ik het moet instellen.

Re: shorewall bepaald verkeer over openvpn tunnel

Geplaatst: wo dec 09, 2020 9:34 am
door superpeter
nog even ter aanvullen bij deze de inhoud van een aantal configuratie bestanden.

mijn openvpn cliƫnt configuratie ziet er als volgt uit.
LETOP: sleutels en dergelijke zijn vervangen door knip knip knip

Code: Selecteer alles

# OpenVPN configuration and certificate for pd9enp.ampr.org
#
# Please use recent OpenVPN software, can be downloaded from:
# https://openvpn.net/community-downloads/

client
dev		tun
remote		gw-44-137-ext.ampr.org
remote-cert-tls	server 
explicit-exit-notify 3
reneg-sec	0
comp-lzo
passtos
nobind
key-direction	1

<ca>
-----BEGIN CERTIFICATE-----

knip knip knip

-----END CERTIFICATE-----
</ca>

<cert>
-----BEGIN CERTIFICATE-----

knip knip knip

-----END CERTIFICATE-----
</cert>

<key>
-----BEGIN PRIVATE KEY-----

knip knip knip

-----END PRIVATE KEY-----
</key>

<tls-auth>
-----BEGIN OpenVPN Static key V1-----

knip knip knip

-----END OpenVPN Static key V1-----
</tls-auth>
men /etc/network/interface ziet er als volgt uit

Code: Selecteer alles


source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

auto eth0
auto eth1
auto eth2


iface eth0 inet static
        address 172.16.0.1
        netmask 255.255.0.0

iface eth1 inet static
        address 172.17.0.1
        netmask 255.255.0.0

iface eth2 inet static
        address 192.168.178.253
        netmask 255.255.255.0
        gateway 192.168.178.1
men dhcp server config ziet er als volgt uit

Code: Selecteer alles

ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
#ping true;
option domain-name-servers 8.8.8.8, 8.8.4.4;
option domain-name "example.com";
authorative;
log-facility local7;
 
subnet 172.16.0.0 netmask 255.255.0.0 {
	range 172.16.248.1 172.16.254.254;
	option subnet-mask 255.255.248.0;
	option domain-name-servers 8.8.8.8 , 8.8.4.4;
	option domain-name "gastnet.jenp.net";
	option routers 172.16.0.1;
#	option netbios-name-servers 192.168.1.3;
	option netbios-node-type 8;
	get-lease-hostnames true;
	use-host-decl-names true;
	default-lease-time 600;
	max-lease-time 7200;
	}
# hamnet
group {
	option domain-name-servers 8.8.8.8 , 8.8.4.4;
	option domain-name "local.jenp.net";
	option subnet-mask 255.255.254.0;
	option routers 172.16.0.1;
	# laptop (172.17.1.1)
	host DESKTOP-SOKOKC1 {
		hardware ethernet 00:23:18:46:b2:92;
		fixed-address 172.16.1.1;
		}
	# streamingpc 172.16.1.2
	host DESKTOP-85OTU3D {
		hardware ethernet 9c:5c:8e:7a:5a:eb;
		fixed-address 172.16.1.2;
		}
	}
# local
group {
	option domain-name-servers 8.8.8.8 , 8.8.4.4;
	option domain-name "localnet.jenp.net";
	option subnet-mask 255.255.255.0;
	option routers 172.16.0.1;
	}
men shorewall zones ziet er als volgt uit

Code: Selecteer alles

#ZONE	TYPE	OPTIONS			IN			OUT
#					OPTIONS			OPTIONS
fw	firewall
net	ipv4
loc	ipv4
dmz	ipv4
hn  ipv4
men shorewall interfaces ziet er als volgd uit

Code: Selecteer alles

###############################################################################
?FORMAT 2
###############################################################################
#ZONE	INTERFACE	OPTIONS
net     eth2            tcpflags,dhcp,nosmurfs,routefilter,logmartians,sourceroute=0
loc     eth0            tcpflags,nosmurfs,routefilter,logmartians
dmz     eth1            tcpflags,nosmurfs,routefilter,logmartians
hn	tun+	dhcp,routefilter,tcpflags,logmartians,nosmurfs,sourceroute=0
en men shorewall policy ziet er dan nog als volgt uit

Code: Selecteer alles

#SOURCE		DEST		POLICY		LOG LEVEL	LIMIT:BURST
loc		hn		ACCEPT
loc		net		ACCEPT
$FW             hn             ACCEPT
$FW             net             ACCEPT
loc        	$FW         	ACCEPT
$FW        	loc         	ACCEPT
net	all	DROP	info
hn	all	REJECT	info
# THE FOLLOWING POLICY MUST BE LAST
all		all		REJECT		info

[code]

en als laatste configuratie bestand nog men shorewall ruls
[code]
#ACTION		SOURCE		DEST		PROTO	DEST	SOURCE		ORIGINAL	RATE		USER/	MARK	CONNLIMIT	TIME		HEADERS		SWITCH		HELPER
#							PORT	PORT(S)		DEST		LIMIT		GROUP
?SECTION ALL
?SECTION ESTABLISHED
?SECTION RELATED
?SECTION INVALID
?SECTION UNTRACKED
?SECTION NEW
# ACCEPT	loc:172.16.1.1-172.16.1.254	hn:44.0.0.0/8	all

#       Don't allow connection pickup from the net
#
Invalid(DROP)	net		all		tcp
#
#	Accept DNS connections from the firewall to the Internet
#
DNS(ACCEPT)	$FW		net
#
#
#	Accept SSH connections from the local network to the firewall and DMZ
#
SSH(ACCEPT)     loc             $FW
SSH(ACCEPT)     loc             dmz
#
#	DMZ DNS access to the Internet
#
DNS(ACCEPT)	dmz		net


# Drop Ping from the "bad" net zone.

Ping(DROP)   	net             $FW

#
#       Make ping work bi-directionally between the dmz, net, Firewall and local zone
#       (assumes that the loc-> net policy is ACCEPT).
#

Ping(ACCEPT)    loc             $FW
Ping(ACCEPT)    dmz             $FW
Ping(ACCEPT)    loc             dmz
Ping(ACCEPT)    dmz             loc
Ping(ACCEPT)    dmz             net

ACCEPT		$FW		net		icmp
ACCEPT		$FW		loc		icmp
ACCEPT		$FW		dmz		icmp

# Uncomment this if using Proxy ARP and static NAT and you want to allow ping from
# the net zone to the dmz and loc

#Ping(ACCEPT)    net             dmz
#Ping(ACCEPT)    net             loc
ACCEPT	all	fw	tcp	22
ACCEPT	all	fw	tcp	10000
ACCEPT	all	fw	tcp	33890
ACCEPT	all	fw	tcp	5015
ACCEPT  all     fw      tcp     5000-5001
ACCEPT  all     fw      tcp     5060
ACCEPT  all     fw      tcp     5090
ACCEPT  all     fw      tcp     9000-9398
ACCEPT  all     fw      tcp     10600-10998
ACCEPT  all     fw      udp     5000-5001
ACCEPT  all     fw      udp     5060
ACCEPT  all     fw      udp     5090
ACCEPT  all     fw      udp     9000-9398
ACCEPT  all     fw      udp     10600-10998
verder nog even de autpout van route -n

Code: Selecteer alles

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.178.1   0.0.0.0         UG    0      0        0 eth2
44.0.0.0        44.137.0.1      255.128.0.0     UG    0      0        0 tun0
44.128.0.0      44.137.0.1      255.192.0.0     UG    0      0        0 tun0
44.137.0.0      0.0.0.0         255.255.0.0     U     0      0        0 tun0
172.16.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth1
192.168.178.0   0.0.0.0         255.255.255.0   U     0      0        0 eth2
en men ifconfig geeft dan nog

Code: Selecteer alles

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.16.0.1  netmask 255.255.0.0  broadcast 172.16.255.255
        inet6 fe80::213:3bff:fe0f:4fc8  prefixlen 64  scopeid 0x20<link>
        ether 00:13:3b:0f:4f:c8  txqueuelen 1000  (Ethernet)
        RX packets 103229  bytes 13481180 (12.8 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 150896  bytes 126308877 (120.4 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth1: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 00:13:3b:0f:4f:c9  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.178.253  netmask 255.255.255.0  broadcast 192.168.178.255
        inet6 fe80::4261:86ff:fe61:f4f8  prefixlen 64  scopeid 0x20<link>
        ether 40:61:86:61:f4:f8  txqueuelen 1000  (Ethernet)
        RX packets 519404  bytes 205579722 (196.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 226387  bytes 44704832 (42.6 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 1  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 276982  bytes 136343713 (130.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 276982  bytes 136343713 (130.0 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

tun0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>  mtu 1500
        inet 44.137.80.25  netmask 255.255.0.0  destination 44.137.80.25
        inet6 fe80::5975:d175:cfea:f4cb  prefixlen 64  scopeid 0x20<link>
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 100  (UNSPEC)
        RX packets 6094  bytes 597018 (583.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 333  bytes 28572 (27.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
hopelijk is dan meteen men netwerk structuur beetje duidelijk en kan teven s iemand me verder helpen zodat de openvpn verkeer ook goed te krijgen is

Re: shorewall bepaald verkeer over openvpn tunnel

Geplaatst: wo dec 09, 2020 9:46 am
door jorim82
Hi,

Zie een verschil in de benaming van je interfaces. Je tunnel interface heet tun0 volgens ifconfig. In de shorewall interfaces heet ie tun+.
Verder zou je ook weer stapje voor stapje moeten testen.

bv. Kan je vanuit je router bij 44.137.0.1 komen?

<zeurmode>Het is nooit handig een publieke reeks te gebruiken als interne reeks (mits je eigenaar bent van het blok)</zeurmode>

Re: shorewall bepaald verkeer over openvpn tunnel

Geplaatst: wo dec 09, 2020 11:04 am
door superpeter
als eerste heb ik de netwerk interface aan ge past naar tun0
en natuurlijk shorewal gestart.
vervolgens 2 verschillende traceroutes uit gevoerd op de router naar een ip adres in de 44 serie
dit was de output

Code: Selecteer alles

root@jenp-0412201200:~# traceroute 44.137.83.65
traceroute to 44.137.83.65 (44.137.83.65), 30 hops max, 60 byte packets
 1  gw-44-137.pi9noz.ampr.org (44.137.0.1)  16.520 ms  16.991 ms  17.363 ms
 2  gw2.pi9noz.ampr.org (44.137.60.2)  17.789 ms  18.119 ms  18.413 ms
 3  www.pd9enp.ampr.org (44.137.83.65)  19.016 ms  19.031 ms  18.986 ms
root@jenp-0412201200:~# traceroute 44.137.0.1
traceroute to 44.137.0.1 (44.137.0.1), 30 hops max, 60 byte packets
 1  gw-44-137.pi9noz.ampr.org (44.137.0.1)  11.735 ms  11.979 ms  11.967 ms
vervolgens ok nog op de router een trace gedaan naar 8.8.8.8
dit was de output

Code: Selecteer alles

root@jenp-0412201200:~# traceroute 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
 1  gateway (192.168.178.1)  2.113 ms  2.902 ms  3.746 ms
 2  * * *
 3  213.51.194.17 (213.51.194.17)  25.376 ms  25.710 ms  26.080 ms
 4  asd-rc0001-cr101-be152-10.core.as9143.net (213.51.158.10)  27.590 ms  27.148 ms  32.845 ms
 5  nl-ams14a-ri1-ae50-0.aorta.net (213.51.64.58)  31.824 ms  31.376 ms  32.160 ms
 6  74.125.146.228 (74.125.146.228)  35.966 ms 10ge-1-4.cr1.ams2.baseip.com (213.46.182.22)  20.717 ms 74.125.146.228 (74.125.146.228)  22.049 ms
 7  108.170.241.129 (108.170.241.129)  21.205 ms * 108.170.241.193 (108.170.241.193)  28.227 ms
 8  108.170.236.139 (108.170.236.139)  28.167 ms 108.170.236.135 (108.170.236.135)  27.665 ms dns.google (8.8.8.8)  27.227 ms
'/code]

vervolgens een trace gedaan vanaf het locale netwerk
dit was de output naar de zelfde ip adressen als vanaf de router
[code]
C:\Users\peter>tracert 44.137.83.65

Tracing route to www.pd9enp.ampr.org [44.137.83.65]
over a maximum of 30 hops:

  1    <1 ms    <1 ms    <1 ms  172.16.0.1
  2     *        *        *     Request timed out.
  3     *        *        *     Request timed out.
  4     *        *        *     Request timed out.
  5     *        *        *     Request timed out.
  6  ^C

Code: Selecteer alles

C:\Users\peter>tracert 44.137.0.1

Tracing route to gw-44-137.pi9noz.ampr.org [44.137.0.1]
over a maximum of 30 hops:

  1    <1 ms    <1 ms    <1 ms  172.16.0.1
  2     *        *        *     Request timed out.
  3     *        *        *     Request timed out.
  4     *        *        *     Request timed out.
  5     *        *        *     Request timed out.
  6  ^C
enook hier een trace gedaan naar 8.8.8.8 met als resultaat

Code: Selecteer alles

C:\Users\peter>tracert 8.8.8.8

Tracing route to dns.google [8.8.8.8]
over a maximum of 30 hops:

  1    <1 ms    <1 ms    <1 ms  172.16.0.1
  2     2 ms     2 ms     2 ms  192.168.178.1
  3     *        *        *     Request timed out.
  4    12 ms    11 ms    11 ms  213.51.194.17
  5    14 ms    13 ms    13 ms  asd-rc0001-cr101-be152-10.core.as9143.net [213.51.158.10]
  6    13 ms    13 ms    13 ms  nl-ams14a-ri1-ae50-0.aorta.net [213.51.64.58]
  7    13 ms    12 ms    12 ms  74.125.146.228
  8    12 ms    14 ms    13 ms  108.170.241.129
  9    13 ms    13 ms    14 ms  108.170.235.133
 10    15 ms    12 ms    13 ms  dns.google [8.8.8.8]

Trace complete.
dan nog even op het gebruik van de 44 ranche.
44 adressen zijn adressen van hamnet.
hamnet is een besloten internet voor radio zend amateurs.
ik ben zelf ook radio zend amateur en heb dus de bevoegdheid op hamnet te mogen komen.
van de beheerders van hamnet heb ik overigens ook netjes de configuratie ge kregen van de openvpn verbinding.
dus wat gebruik van de 44 serie heb ik verder geen invloed op en dat kan ik dus ook niet veranderen

bij deze ook even een linkje met wat info over hamnet https://www.hamnet.nl/doelstelling/

Re: shorewall bepaald verkeer over openvpn tunnel

Geplaatst: wo dec 09, 2020 12:54 pm
door jorim82
Hi, leuk ik ben zelf geen echte amateur maar heb wel veel interesse in deze hobby.

Ik zie dat je router wel netjes over de tunnel naar de 44 range gaat.
Wat ik me afvraag is of je route tabel goed is:

Code: Selecteer alles

44.0.0.0        44.137.0.1      255.128.0.0     UG    0      0        0 tun0
44.128.0.0      44.137.0.1      255.192.0.0     UG    0      0        0 tun0
44.137.0.0      0.0.0.0         255.255.0.0     U     0      0        0 tun0
imo moet de 44.137.0.0 ook naar 44.137.0.1 gaan en niet naar 0.0.0.0. Zou je dat eens kunnen testen?

Re: shorewall bepaald verkeer over openvpn tunnel

Geplaatst: wo dec 09, 2020 3:45 pm
door superpeter
en daar gaat hij dus mis.
want traceroute op de router geeft terug

Code: Selecteer alles

root@jenp-0412201200:~# traceroute 44.137.0.0
traceroute to 44.137.0.0 (44.137.0.0), 30 hops max, 60 byte packets
connect: Toegang geweigerd
voor de zekerheid ook nog ff route -n gedaan op de router dit geeft nu de volgende output

Code: Selecteer alles

root@jenp-0412201200:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.178.1   0.0.0.0         UG    0      0        0 eth2
44.0.0.0        44.137.0.1      255.128.0.0     UG    0      0        0 tun0
44.128.0.0      44.137.0.1      255.192.0.0     UG    0      0        0 tun0
44.137.0.0      0.0.0.0         255.255.0.0     U     0      0        0 tun0
172.16.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth1
192.168.178.0   0.0.0.0         255.255.255.0   U     0      0        0 eth2
root@jenp-0412201200:~#

Re: shorewall bepaald verkeer over openvpn tunnel

Geplaatst: wo dec 09, 2020 6:52 pm
door jorim82
Klopt dat je die traceroute niet kunt maken... . 0 is altijd het netwerk adres. Je zou de.1 eens moeten proberen.

En er moet een juiste route komen naar dat netwerk via 44.137.0.1

Ben benieuwd.

Re: shorewall bepaald verkeer over openvpn tunnel

Geplaatst: wo dec 09, 2020 6:59 pm
door superpeter
en die doet het volgende vanaf de router

Code: Selecteer alles

root@jenp-0412201200:~# traceroute 44.137.0.1
traceroute to 44.137.0.1 (44.137.0.1), 30 hops max, 60 byte packets
 1  gw-44-137.pi9noz.ampr.org (44.137.0.1)  11.802 ms  11.814 ms  12.103 ms

Re: shorewall bepaald verkeer over openvpn tunnel

Geplaatst: zo dec 13, 2020 6:09 pm
door superpeter
ik heb het nu voor elkaar dat ik sites op hamnet kan bezoeken.
wel helaas niet op de manier zoals ik het zou willen.
namelijk door het gebruik van squid proxy server.
echter geeft het gebruik van de proxy server meteen ook een nieuw probleempje.
namelijk dat de hamnet sits ook toegankelijk zijn voor alle ip addresen dus niet alleen de range die ik wil.
dus eigenlijk zou ik op een of andere manier moeten kunnen instellen dat sites in de 44 range een wachtwoord of zo nodig hebben.
heb alleen nog niet gevonden of en zoja hoe ik dit in stell op squid proxy server

Re: shorewall bepaald verkeer over openvpn tunnel

Geplaatst: ma dec 14, 2020 10:13 am
door jorim82
Hi,

Met squid ben ik niet goed bekend. Misschien een andere nedlinuxer die je hier mee kan helpen?!