VCN

From ortiche
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.


Un reticolo di tubi. Il demone nega la cabala.

Un tunnel serve per:

  • passare inosservati
  • entrare dove si puo solo uscire
  • difendere l'indifendibile.

procurati un token su https://webmail.esiliati.org/toolz/token/generate, se non ce l'hai chiedi ad un amico oppure, se proprio necessario, a vcn [@] esiliati {.} org

installa Tinc

lancia tinc (se non lo trovi prova con tincd) e fagli creare una chiave:

tinc -n vcn -K 2048

se si arrabbia, crea la directory /etc/tinc/vcn

mkdir /etc/tinc/vcn

vai su https://webmail.esiliati.org/toolz/token/check e dagli il token

  • scegli un nome per il tuo nodo
  • apri il file rsa_key.pub, copia la chiave (la stringa contenuta tra -----BEGIN RSA PUBLIC KEY----- e -----END RSA PUBLIC KEY-----) e incollala nel form pubkey
  • premi GO

copia il contenuto delle finestrelle nei file indicati, tutti contenuti nella directory /etc/tinc/vcn

avvia tinc:

tinc -n vcn

Sicurezza

Il tuo nodo e' protetto dall'internet, ma visibile dagli altri nodi VCN

puoi proteggerlo con un muro di fuoco!

Linux

# fai vedere a tutti la tua ''webapp''
iptables -A INPUT -i vcn -p tcp --dport 80 -j ACCEPT
# fai passare i tuoi amici (172.20.0.31) sulle porte giuste (ssh)
iptables -A INPUT -i vcn -p tcp --dport ssh -s 172.20.0.31 -j ACCEPT
# fai passare le connessioni in uscita
iptables -A INPUT -i vcn -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
# blocca gli altri
iptables -A INPUT -i vcn -p tcp -j DROP

NetBSD con NPF

$tun_if = inet4(tun0)

$services_tcp = { 22, 25, 80, 443, 110, 143, 587, 993, 995, 6667, 9999 }
$services_udp = { 53 }

$vcn_friends = { 172.20.x.y/32, 172.20.z.w/32 }

group "tun" on $tun_if {
        block in all
	pass stateful in final proto tcp to $tun_if port $services_tcp
	pass stateful in final proto udp to $tun_if port $services_udp
	pass stateful from $vcn_friends
}

group default {
        ruleset "test-set"
        pass all
}

Gateway

sul gateway di uscita:

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

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

iptables -A FORWARD -i vcn -s ip.del.client -j ACCEPT
iptables -A FORWARD -i vcn  -j DROP

sul client:

ORIGINAL_GATEWAY=`ip route show | grep ^default | cut -d ' ' -f 2-5`
route add default gw ip.del.gateway
ip route del default $ORIGINAL_GATEWAY

DNS

Dentro VCN c'è un server DNS.

Per usarlo devi dire al tuo server DNS locale di far risolvere i domini .vcn a 172.20.1.35.

Con dnsmasq devi aggiungere questo a /etc/dnsmasq.conf

server=/vcn/172.20.1.35#53

qualsiasi problema, vcn [@] esiliati {.} org