Passa ai contenuti principali

simple port forwarding example

Immaginiamo di avere un firewall linux  e voler pubblicare un servizio di un server interno sulla rete, quindi vogliamo che ogni accesso al nostro indirizzo ip pubblico che riguarda la porta in oggetto sia rediretto sul nostro server interno.
in pratica esponiamo un servizio sulla rete pubblica recuperandolo da una rete privata.
Tutto questo si traduce in effetti in pochissime righe per iptables.

Dati di partenza : 
indirizzo ip del server interno esempio :     192.168.1.150

porta del servizio del server interno esempio : 8080

porta pubblica del servizio che vogliamo esporre : 80

creo un file in /root/forward.sh con la confgurazione di iptables

#!/bin/sh
echo 1 > /proc/sys/net/ipv4/ip_forward

/sbin/iptables -A PREROUTING -t nat -p tcp  --dport 80 -j DNAT --to 192.168.1.150:8080
/sbin/iptables -A FORWARD  -d 192.168.1.150 -p tcp --dport 80 -j ACCEPT

/sbin/iptables -t nat -A POSTROUTING -j MASQUERADE
volendo aggiungo al crontab @reboot /root/forward.sh

Commenti

Post popolari in questo blog

Blender e gli scacchi fatti in casa con una stampante 3d

Un giorno ho deciso di provare una stampante 3D, e per prepararmi ho scelto di imparare a usare Blender. Sembrerà ovvio, ma per me questa decisione era cruciale: non trovavo alcuna gioia nell'idea di stampare solo modelli creati da altre persone. Volevo essere autonomo. Se mi fosse servito un ingranaggio, un coperchietto o qualsiasi altro oggetto, volevo essere in grado di disegnarlo e poi stamparlo. Se un giorno deciderete di acquistare una stampante 3D, vi do lo stesso consiglio: imparate prima a usare un programma di disegno 3D. C'è molta più soddisfazione nel stampare qualcosa che avete creato voi stessi. Ho scelto Blender come strumento di apprendimento perché è un software open source. Non solo è gratuito, ma è aperto a contributi da parte di tutti, un grande vantaggio per chi cerca flessibilità e innovazione. Così, prima ancora di acquistare la stampante, ho scaricato Blender dal sito ufficiale www.blender.org , l'ho installato e ho iniziato con il mio primo tutorial...

Installazione application server wildfly

Wildfly è l'erede dell'application server JBOSS. poichi semplici passi da ricordare come guida minima di installazione... prerequisiti: JAVA è consigliato installare l'ambiente java di ORACLE # da root o sudo cd /opt # scaricate il wildfly che vi interessa: # http://wildfly.org/downloads/ # io farò riferimento alla versione wildfly-8.2.0.Final voi sostituitela con la vostra wget http://download.jboss.org/wildfly/8.2.0.Final/wildfly-8.2.0.Final.tar.gz tar xfvz wildfly-8.2.0.Final.tar.gz ln -s /opt/wildfly-8.2.0.Final /opt/wildfly # Copia ed edita il file init di configurazione cp /opt/wildfly/bin/init.d/wildfly.conf /etc/default/wildfly.conf nano /etc/default/wildfly.conf # modifica alcune configurazioni secondo le tue necessità ## Location of WildFly JBOSS_HOME="/opt/wildfly" ## The username who should own the process. JBOSS_USER=wildfly ## The mode WildFly should start, standalone or domain JBOSS_MODE=standalone ## Configuration...

Gnome cambia l'immagine di sfondo ogni tot minuti

Ci sono molti programmi wallpaper changer che promettono di cambiare lo sfondo di gnome o ubuntu, ma a me non funzionano. Cambiare lo sfondo selezionandolo a caso in una cartella delle immagini, sembra una cosa semplice, ed in effetti lo è :). Vediamo come svincolarci dal sistema operativo e dai tool grafici. Utilizzeremo gconf tool ,  python e crontab. nella nostra cartella home creiamo una cartella bin $ mkdir bin spostiamoci in bin e creiamo un file per cambiare lo sfondo $ cd bin $ gedit -w cambiaSfondo.sh con questo contenuto : PID=$(pgrep gnome-session) export DBUS_SESSION_BUS_ADDRESS=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$PID/environ|cut -d= -f2-) set DISPLAY=:0 set GSETTINGS_BACKEND=dconf /usr/bin/python /home/ NOMEUTENTE /bin/randomWall.py attenti a cambiare NOMEUTENTE con il vostro nome utente!!! dopo di che creiamo il file python che sorteggia lo sfondo e lo applica $ gedit randomWall.py con il seguente contenuto : #!/usr/bin/python import o...