Posts Tagged ‘IPv6’

Nieuwe configuratie voor ferm(1)

Wednesday, February 9th, 2011

Ter referentie heb ik eerder wat geschreven over ferm. Ziehier een nieuwe versie, nu volledig met IPv4. De configuratie is geschikt voor een werkstation en prima te gebruiken op een publiek netwerk. Voor IPv4:

table filter {
 chain INPUT {
 # Drop all packets per default.
 policy DROP;

 # Allow tracked connections.
 mod state state INVALID DROP;
 mod state state (ESTABLISHED RELATED) ACCEPT;

 # Allow local connections.
 interface lo ACCEPT;

 # Respond to ICMP packets (diagnostic).
 proto icmp icmp-type echo-request ACCEPT;

 # Drop UDP connections.
 proto udp DROP;

 # Reject everything else.
 proto tcp REJECT reject-with tcp-reset;
 REJECT;
 }

 chain OUTPUT {
 # Allow all packets per default.
 policy ACCEPT;
 }

 chain FORWARD {
 # Drop all packets per default.
 policy DROP;

 # Drop UDP connections.
 proto udp DROP;

 # Reject everything else.
 proto tcp REJECT reject-with tcp-reset;
 REJECT;
 }
}

En voor IPv6:

domain ip6 table filter {
 chain INPUT {
 # Drop all packets per default.
 policy DROP;

 # Respond to ICMP packets (NDP and RA).
 proto icmpv6 icmp-type (neighbour-solicitation neighbour-advertisement router-advertisement) ACCEPT;

 # Allow tracked connections.
 mod state state INVALID DROP;
 mod state state (ESTABLISHED RELATED) ACCEPT;

 # Allow local connections.
 interface lo ACCEPT;

 # Respond to ICMP packets (diagnostic).
 proto icmpv6 icmp-type echo-request ACCEPT;

 # Drop UDP connections.
 proto udp DROP;

 # Reject everything else.
 proto tcp REJECT reject-with tcp-reset;
 REJECT;
 }

 chain OUTPUT {
 # Allow all packets per default.
 policy ACCEPT;
 }

 chain FORWARD {
 # Drop all packets per default.
 policy DROP;

 # Drop UDP connections.
 proto udp DROP;

 # Reject everything else.
 proto tcp REJECT reject-with tcp-reset;
 REJECT;
 }
}

Minimale configuratie voor IPv6 in ferm(1)

Monday, July 5th, 2010

Ter referentie:

domain ip6 table filter {
	chain INPUT {
		# Drop all packets per default.
		policy DROP;

		# Respond to ICMP packets (NDP).
		proto icmpv6 icmp-type (neighbour-solicitation neighbour-advertisement) ACCEPT;

		# Allow tracked connections.
		mod state state INVALID DROP;
		mod state state (ESTABLISHED RELATED) ACCEPT;

		# Allow local connections.
		interface lo ACCEPT;

		# Respond to ICMP packets (diagnostic).
		proto icmpv6 icmp-type echo-request ACCEPT;

		# SSH connections.
		proto tcp dport ssh ACCEPT;

		# Reject everything else.
		proto tcp REJECT reject-with tcp-reset;
		REJECT;
	}

	chain OUTPUT {
		# Allow all packets per default.
		policy ACCEPT;
	}

	chain FORWARD {
		# Drop all packets per default.
		policy DROP;

		# Reject everything else.
		proto tcp REJECT reject-with tcp-reset;
		REJECT;
	}
}

Een beetje oud en een beetje nieuw

Tuesday, January 5th, 2010

De laatste week van het inmiddels afgelopen jaar heb ik vrij genomen, natuurlijk om de feestdagen rustig te kunnen doorbrengen.

Aan tafel bij m'n ouders thuis

Het was alweer een hele tijd geleden dat ik überhaupt vakantie genomen had, dus was ik zeker wel toe aan wat dagen rust en ontspanning.

Naast gebruikelijke bezoeken aan familie heb ik de tijd genomen om thuis eindelijk eens een goede implementatie van IPv6 (helaas nog wel via het SixXS netwerk) te doen. Ik besefte me dat het erg handig was om terug te kunnen lezen hoe ik eerder problemen met IPv6-over-IPv4 tunnels en een SpeedTouch ADSL-modem had opgelost, dus leek het me goed om te documenteren (handig voor Nagios) hoe men ook alweer ICMP kan inschakelen:

:service system ifadd name PING_RESPONDER group wan

Verder vroeg ik me af hoe tijdsynchronisatie werkte, dus ook ter referentie:

:sntp config state enabled
:sntp add name 0.debian.pool.ntp.org
:sntp add name 1.debian.pool.ntp.org
:sntp add name 2.debian.pool.ntp.org
:sntp add name 3.debian.pool.ntp.org

En uiteraard tot slot:

:saveall

Na het weekeinde heb ik een kort bezoek gebracht aan Londen, op uitnodiging van en samen met m’n ouders, erg aardig!

Een typisch kiekje van Londen

We hebben een vriendin van m’n moeder opgezocht en een aantal musea bekeken, dus even lekker wat anders dan de dagelijkse dingen!

Helaas werd Lieke op de tweede dag erg ziek (en herstelde pas redelijk op Oudejaarsdag, ‘s avonds en ‘s nachts doorgebracht bij Paul en Marieke thuis), maar desondanks heb ik me zeker vermaakt, bijvoorbeeld met een bezoek aan het British Museum.

Besneeuwde boom

Weer thuis aangekomen werden we weer geconfronteerd met het winterse weer. Helaas weer sneeuw, koude en gladheid… Hopelijk gaat het beter als de dagen voor Kerst met al het verkeer…

Tot slot, het állerbeste en veel geluk toegewenst voor het nieuwe jaar voor eenieder die dit leest! En uiteraard, bedankt voor alle kaarten die we gekregen hebben!

IPv6 en wildcard DNS CNAME

Monday, April 27th, 2009

!LET OP! Als in /etc/resolv.conf gezocht wordt binnen een domein met een wildcard CNAME treden gekke problemen met IPv6 op!

Stel host.domain.org heeft IN A 1.2.3.4 en een machine met IPv6 zoekt in searchdomain.com vanuit /etc/resolv.conf. Neem verder aan dat *.searchdomain.com IN CNAME searchdomain.com bestaat en dat searchdomain.com zelf gewoon een A-record en AAAA-record heeft.

Omdat er IPv6 connectiviteit bestaat, zullen programma’s zoals wget, apt of fetchmail proberen om een AAAA-record (of CNAME naar een AAAA-record) op te zoeken. Dit gaat mis, omdat bijvoorbeeld host.domain.org (alleen IPv4!) dan opgezocht zal worden als host.domain.org.searchdomain.com wat een CNAME naar searchdomain.com is.

Bijvoorbeeld:

$ cat /etc/resolv.conf
search searchdomain.com
nameserver 1.2.3.4

In combinatie met het volgende:

*.searchdomain.com. IN CNAME searchdomain.com.
searchdomain.com. IN A 1.2.3.4
searchdomain.com. IN AAAA ::1

Bij zoekopdrachten die normaliter alleen een IPv4 A-record (of CNAME naar een A-record) zullen teruggeven, zal nu als resultaat een CNAME naar een AAAA-record en dus uiteindelijk ::1 boven water komen.

Erg onverwacht maar vooral ongemakkelijk!

Statisch IPv6 adres

Friday, April 24th, 2009

Graag wilde ik IPv6 in statische vorm hebben, dus niet met een automatisch toegewezen adres. Blijkbaar erg lastig, ook om te bepalen wat het standaard uitgaande adres wordt. Blijkbaar telt het laatst toegevoegde adres als de winnaar.

Het volgende werkt voor mij prima:

# The primary network interface (IPv6 version)
iface eth0 inet6 static
address 2001:4018:2:4::4
netmask 64
gateway 2001:4018:2:4::1
# Turn off evil auto configuration
up sysctl -q -w net.ipv6.conf.eth0.autoconf=0
# Aliases
up ip addr add dev eth0 2001:4018:2:4::3/64
up ip addr add dev eth0 2001:4018:2:4::2/64

Het standaard uitgaande adres is in dit voorbeeld dus 2001:4018:2:4::2.

IPv6 met een SpeedTouch 516/546 (firmware v6)

Wednesday, April 15th, 2009

Heb je net een mooie SixXS IPV6-in-IPv4 tunnel aangevraagd, werkt het niet (of alleen maar uitgaand)…

Zo werkt het wel (in dit voorbeeld is de IPv6 router 192.168.4.4):

:expr add name=ipv6 type=serv proto=41
:firewall rule add chain=forward_host_service name=SixXS serv=ipv6 state=enabled action=accept
:nat tmpladd intf=Internet type=nat outside_addr=0.0.0.1 inside_addr=192.168.4.4 protocol=6to4
:saveall

Klaar ben je!