condividere la connessione filtrando tra due schede di rete

Installazione, configurazione e uso di Ubuntu come server: web, ftp, mail, news, proxy, dns, ecc.

condividere la connessione filtrando tra due schede di rete

Messaggioda danilo.canducci » giovedì 11 maggio 2017, 20:08

Buonasera a tutti, ho cercato un pochino ma presumibilmente non ho capito dove stia sbagliando, vi spiego brevemente la mia necessità:
serverino con due schede di rete, installato con ubuntu 16.04.01 lts versione server 64 bit, i servizi che dovrebbe erogare sono i seguenti
1 fileserver con uso di sambaho
2 mysql per l'applicativo Invoicex della contabilità
3 firewall basilare
4 condividere la connessione filtrando tra le due schede di rete
5 fare un nat su un ip pubblico in quanto siamo dentro un'associazione sportiva e abbiamo messo delle telecamere per problemi di vandalismo
ora i punti 1 -2 sono fatti mentre 3 e 4 navigo in alto mare
ho modificato in /etc/rc.local

modprobe ip_conntrack
modprobe iptable_nat
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
ifconfig enp5s1f0 192.168.1.2 netmask 255.255.255.0 up
iptables -t nat -A POSTROUTING -o enp5s1f0 -j MASQUERADE
iptables -A FORWARD -i wlan0 -o enp6s0 -m state --state RELATED,ESTABLISHED -j $
iptables -A FORWARD -i enp6s0 -o enp5s1f0 -j ACCEPT

e ho modificato /etc/sysctl.conf

net.ipv4.ip_forward=1

dando il comando
route -n
Tabella di routing IP del kernel
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 enp6s0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 enp6s0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 enp5s1f0

ora il default gw di enp6s0 viene rilasciato dalla linea direttamente, non ho parlato di router in quanto sto utilizzando bbbell come linea ( linea aerea non via cavo) e ti portano calano dal tetto un rj45 e tu o attacchi ad uno scwitch o ad una ethernet ti viene assegnato un ip

Voi sapete se ho fatto qualche cavolata!!
Ringrazio tutti quelli che mi vorranno aiutare
danilo.canducci
Prode Principiante
 
Messaggi: 70
Iscrizione: luglio 2006

Re: condividere la connessione filtrando tra due schede di r

Messaggioda thece » giovedì 11 maggio 2017, 21:59

:ciao:

danilo.canducci Immagine ha scritto:Voi sapete se ho fatto qualche cavolata!!

Si, diverse



Iniziamo con un appunto: il file /etc/rc.local serve per eseguire all'avvio del PC semplici comandi, oppure per richiamare altri script che contengono sequenze di comandi più complesse. Non va "sporcato" con le istruzioni per configurare tutto IPTables. Immagina che le istruzioni siano tante, diciamo una cinquantina, cosa accadrebbe? Nel file rc.local è meglio richiamare lo script che va a configurare IPTables. In questo modo la sua lettura risulta più semplice e pulita.

Esempio di /etc/rc.local

Codice: Seleziona tutto
...

/scripts/ConfiguraIPTables.sh

exit 0



In termini di funzionalità, puoi chiarire cosa intendi per

danilo.canducci Immagine ha scritto:firewall basilare

Un firewall che non filtra nulla è molto basilare. Ma è quello che vuoi tu? A grandi linee, quali funzioni dovrebbe implementare il tuo firewall?
Le istruzioni che hai scritto per IPTables comunque mi sembrano buttate lì a casaccio. Citi una scheda di rete wlan0 (WIFI) di cui non trovo altri riscontri. Il caricamento esplicito dei moduli non occorre.

In termini di funzionalità, puoi chiarire cosa intendi per

danilo.canducci Immagine ha scritto:condividere la connessione filtrando tra le due schede di rete

Il punto 5 lo vediamo più tardi

danilo.canducci Immagine ha scritto:5 fare un nat su un ip pubblico...

per adesso ti dico solamente che tutti i tuoi PC nella tua rete sono già nattati attraverso l'indirizzo IP pubblico che vi è stato assegnato dal vostro provider



danilo.canducci Immagine ha scritto:dando il comando

Codice: Seleziona tutto
route -n
Tabella di routing IP del kernel
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 enp6s0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 enp6s0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 enp5s1f0


Dando il comando di cui sopra si intuisce(*) che hai assegnato alle due schede di rete un indirizzo IP nella stessa classe di indirizzamento: 192.168.1.0/255.255.255.0 , sbagliato!
Le due schede di rete devono avere un indirizzo IP in due classi di indirizzamento distinte, ad esempio 192.168.1.0/255.255.255.0 e 192.168.2.0/255.255.255.0 (vedi schema allegato)

Quale mezzo hai usato per configurare le due schede di rete? Hai usato il file /etc/network/interfaces ?
... visto adesso, hai inserito un comando ifconfig nel file rc.local: orrore! :nono: E l'altra scheda di rete (enp6s0) dove viene configurata?



Non è che ti serve uno schema di rete più semplice? Sei sicuro che vuoi / devi far passare tutto il traffico di rete attraverso le due schede del tuo server Ubuntu?

Il tuo "gateway", l'oggetto che ha indirizzo IP 192.168.1.1 e dal quale proviene il cavo Ethernet RJ45 ha un firewall integrato?



Fossi in te, io mi:

- chiarirei quale tipo di rete voglio realizzare
- inizierei a configurare il file /etc/network/interfaces di conseguenza
- ripulirei il file /etc/rc.local. Per il momento lascia stare IPTables, prima metti su una rete "aperta" ma funzionante



(*) a tal proposito posta l'output del comando

Codice: Seleziona tutto
ifconfig
Allegati
www.draw.io-network.png
Avatar utente
thece
Rampante Reduce
Rampante Reduce
 
Messaggi: 7460
Iscrizione: aprile 2007
Distribuzione: Debian 9 (Stretch) - KDE

Re: condividere la connessione filtrando tra due schede di r

Messaggioda danilo.canducci » giovedì 18 maggio 2017, 21:58

Ti ringrazio per il tuo aiuto ti spiego cosa devo fare
ho una linea dati che arriva alla scheda enp6s0 che riceve dalla rete un ip privato( per ora ) devo far filtrare i dati da questa scheda ad un'altra scheda enp5s1f0 bloccando tutto quello che arriva da fuori ad eccezione della navigazione internet ssh pop3 imap samba e mysql, null'altro.
inoltre alla scheda enp6s0 verrà girata l'ip pubblico appena il firewall sarà attivo
danilo.canducci
Prode Principiante
 
Messaggi: 70
Iscrizione: luglio 2006

Re: condividere la connessione filtrando tra due schede di r

Messaggioda thece » giovedì 18 maggio 2017, 23:02

danilo.canducci Immagine ha scritto:ho una linea dati che arriva alla scheda enp6s0 che riceve dalla rete un ip privato( per ora ) ...
inoltre alla scheda enp6s0 verrà girata l'ip pubblico appena il firewall sarà attivo

Tralasciando per un attimo il firewall, mi sa che hai poche idee e confuse: la scheda di rete enp6s0 non riceve un indirizzo IP privato dalla Rete ma dal server DHCP contenuto nello scatolotto che ti ha fornito il tuo provider Internet, cui è attaccata l'antenna, dal quale esce il cavo Ethernet che finisce nel tuo server Ubuntu e che ha la funzione di gateway di rete. La tua scheda di rete enp6s0 non prenderà mai un indirizzo IP pubblico.

Ti ho fatto qualche domanda alla quale non ho ricevuto risposta.

Il tuo server ha due schede di rete. Nelle tue "specifiche" in merito ai servizi che vuoi rendere raggiungibili non specifichi da dove. Immagino che vuoi che siano raggiungibili da Internet. Sei sicuro che il tuo provider Internet ti permetta questo? Io non ho alcuna esperienza / conoscenza di quel provider

Per ultimo, ma non ultimo: prima si mette a posto la configurazione della rete, solo dopo si mette a posto il firewall
Avatar utente
thece
Rampante Reduce
Rampante Reduce
 
Messaggi: 7460
Iscrizione: aprile 2007
Distribuzione: Debian 9 (Stretch) - KDE

Re: condividere la connessione filtrando tra due schede di r

Messaggioda danilo.canducci » giovedì 18 maggio 2017, 23:23

Direi di sì, inquanto dall esterno devo raggiungere solo la porta 22 tutti gli altri servizi mi servono solo nella lan,
Fondamentalmente debbo filtrare da una scheda di rete collegata ad internet enpsf0 e bloccare tutto eccetto
Navigazione e la porta 22
danilo.canducci
Prode Principiante
 
Messaggi: 70
Iscrizione: luglio 2006

Re: condividere la connessione filtrando tra due schede di r

Messaggioda thece » venerdì 19 maggio 2017, 17:22

Sei molto parco di parole :D e nella tua situazione non è proprio una bella cosa , vabbè ti ho dato un bel pò di informazioni, alla fine hai fatto qualcosa?
Avatar utente
thece
Rampante Reduce
Rampante Reduce
 
Messaggi: 7460
Iscrizione: aprile 2007
Distribuzione: Debian 9 (Stretch) - KDE

Re: condividere la connessione filtrando tra due schede di r

Messaggioda danilo.canducci » sabato 20 maggio 2017, 12:10

Sto cercando di capire come fargli fare il nat tra le due schede, ho creato uno script come suggerivi tu ma non comprendo come mai non ci riesca
danilo.canducci
Prode Principiante
 
Messaggi: 70
Iscrizione: luglio 2006

Re: condividere la connessione filtrando tra due schede di r

Messaggioda thece » sabato 20 maggio 2017, 17:31

Se vuoi ottenere una qualche forma di aiuto concreto devi iniziare a postare qualche output. Io inizierei da:

- la configurazione delle schede di rete

Codice: Seleziona tutto
cat /etc/network/interfaces
ifconfig

- tabella di routing

Codice: Seleziona tutto
route -n

- regole impostate su IPTables

Codice: Seleziona tutto
sudo iptables-save

e già che ci siamo verifichiamo anche che tu abbia abilitato correttamente il forwarding dei pacchetti IP

Codice: Seleziona tutto
cat /etc/sysctl.conf | grep ip_forward
cat /proc/sys/net/ipv4/ip_forward
Avatar utente
thece
Rampante Reduce
Rampante Reduce
 
Messaggi: 7460
Iscrizione: aprile 2007
Distribuzione: Debian 9 (Stretch) - KDE


Torna a Ubuntu su server

Chi c’è in linea

Visualizzano questa sezione: gianluca-degiorgio e 4 ospiti