|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jan 2006
Messaggi: 1525
|
Configurazione rete Debian per condivisione connessione internet
Dopo aver lottato con l'installazione delle schede wi-fi adesso avrei bisogno di una mano per configurare correttamente la rete di casa.
Al momento ecco la situazione esistente e funzionante: - Modem ADSL collegato ad internet, IP fisso Codice:
IP 10.0.0.2 Netmask 255.255.255.0 Codice:
# ifconfig
eth0 Link encap:Ethernet HWaddr 4c:00:10:51:01:52
inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::4e00:10ff:fe51:152/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:454820 errors:0 dropped:0 overruns:0 frame:0
TX packets:338224 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:452074186 (431.1 MiB) TX bytes:114227928 (108.9 MiB)
Interrupt:17 Base address:0xe000
eth1 Link encap:Ethernet HWaddr 00:50:8d:9f:5c:38
inet addr:10.0.0.3 Bcast:10.0.0.255 Mask:255.255.255.0
inet6 addr: fe80::250:8dff:fe9f:5c38/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:42838615 errors:0 dropped:0 overruns:0 frame:0
TX packets:35679401 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:34265443060 (31.9 GiB) TX bytes:7918310073 (7.3 GiB)
Interrupt:32 Base address:0xa000
lo .....
Codice:
IP 192.168.0.2 Netmask 255.255.255.0 Codice:
# iptables -A POSTROUTING -t nat -s 192.168.0.0/24 -j MASQUERADE -p all -o eth1 && echo 1 > /proc/sys/net/ipv4/ip_forward ![]() Cio' che vorrei fare e' condividere da PC1 la connessione internet verso altri computer tramite wi-fi. Ho dotato quindi di apposita scheda PC1 Codice:
# ifconfig ra0 up
# ifconfig
eth0 Link encap:Ethernet HWaddr 4c:00:10:51:01:52
inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::4e00:10ff:fe51:152/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:455168 errors:0 dropped:0 overruns:0 frame:0
TX packets:338429 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:452132495 (431.1 MiB) TX bytes:114265410 (108.9 MiB)
Interrupt:17 Base address:0xe000
eth1 Link encap:Ethernet HWaddr 00:50:8d:9f:5c:38
inet addr:10.0.0.3 Bcast:10.0.0.255 Mask:255.255.255.0
inet6 addr: fe80::250:8dff:fe9f:5c38/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:42965821 errors:0 dropped:0 overruns:0 frame:0
TX packets:35785636 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:34353546419 (31.9 GiB) TX bytes:7948315351 (7.4 GiB)
Interrupt:32 Base address:0xa000
lo ....
ra0 Link encap:Ethernet HWaddr f0:7d:68:74:07:98
inet addr:192.168.0.3 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::f27d:68ff:fe74:798/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:10023 (9.7 KiB) TX bytes:18336 (17.9 KiB)
Codice:
# iwconfig
lo no wireless extensions.
eth0 no wireless extensions.
eth1 no wireless extensions.
ra0 Ralink STA ESSID:"11n-AP" Nickname:"RT2870STA"
Mode:Auto Frequency=2.412 GHz Access Point: Not-Associated
Bit Rate:1 Mb/s
RTS thr:off Fragment thr:off
Encryption key:off
Link Quality=70/100 Signal level:0 dBm Noise level:0 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
__________________
-)(- debian -)(- |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3010
|
Personalmente preferisco questa regola per il natting:
Codice:
echo 1 > /proc/sys/net/ipv4/ip_forward #solitamente si esegue prima... EXTERNAL_INTERFACE="eth1" EXTERNAL_IP=`/sbin/ifconfig $EXTERNAL_INTERFACE | sed '/inet\ /!d;s/.*r://g;s/\ .*//g'` iptables -t nat -A POSTROUTING -o $EXTERNAL_INTERFACE -j SNAT --to $EXTERNAL_IP La mia scelta è stata influenzata da questo stralcio del man iptables: Codice:
MASQUERADE
This target is only valid in the nat table, in the POSTROUTING chain.
It should only be used with dynamically assigned IP (dialup)
connections: if you have a static IP address, you should use the
SNAT target.
Codice:
# Uncomment the next line to enable packet forwarding for IPv4 net.ipv4.ip_forward=1 Breve guida ArchLinux sull'argomento (ho scelto questa perché la parte client è completa e priva di divagazioni). P.S. se le policy delle catene iptables non sono le standard ACCEPT (vedi iptables -v -nL) occorrono regole aggiuntive per permettere ai pacchetti di attraversare la macchina (in FORWARD), per permettere l'ingresso (in INPUT) e l'uscita (in OUTPUT).
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...) |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Feb 2002
Messaggi: 2511
|
La riga per iptables sarebbe piu' corretta con:
Codice:
# iptables -A POSTROUTING -t nat -s 192.168.0.0/24 -o eth1 -j SNAT --to 10.0.0.3 Codice:
# Uncomment the next line to enable packet forwarding for IPv4 net.ipv4.ip_forward=1 |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jan 2006
Messaggi: 1525
|
Ok, grazie ad entrambi procedero' passo-passo, innanzitutto vedendo di configurare la rete ad-hoc e poi passero' alla condivisione.
Purtroppo non sono un esperto di reti, pero' la buona volonta' c'e' quindi sicuramente le domande non le ho ancora esaurite Edit: senza contare che dovro' anche modificare la configurazione del firewall su PC1, dato che il modem e' un Pirelli Telecom completamente inaccessibile
__________________
-)(- debian -)(- Ultima modifica di psimem : 03-12-2011 alle 16:46. |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jan 2006
Messaggi: 1525
|
Come prima cosa ho pero' deciso di fare un po' di ordine con gli indirizzi IP e quindi ho assegnato al router:
Codice:
IP 10.0.0.1 Netmask 255.255.255.0 Codice:
IP 10.0.0.2 Netmask 255.255.255.0 Gateway 10.0.0.1 Adesso vorrei configurare eth0 su PC1 ed eth0 su PC2 e qui ho gia' dei dubbi: - l'IP puo' essere dello stesso tipo del router? ad es. 10.0.0.3 ecc.? - la netmask dev'essere per forza uguale a quella del router (255.255.255.0)? Nel frattempo come suggerito ho abilitato permanentemente l'IP_forwarding editando il file /etc/sysctl.conf: Codice:
# Uncomment the next line to enable packet forwarding for IPv4 net.ipv4.ip_forward=1 Codice:
# iptables -A POSTROUTING -t nat -s 192.168.0.0/24 -o eth1 -j SNAT --to 10.0.0.2
__________________
-)(- debian -)(- Ultima modifica di psimem : 03-12-2011 alle 14:42. |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3010
|
Personalmente, una volta determinato l'elemento che può essere definito il centro della rete locale (nel tuo caso direi il PC1 con le 2 ethx ed il wireless) assegno una sotto-rete diversa ad ogni scheda di rete dandole un nome significativo.
Esempio concreto: Codice:
gimli@phoenix:~$ cat /etc/networks default 0.0.0.0 loopback 127.0.0.0 link-local 169.254.0.0 phoenix-net-a 192.168.0.0 phoenix-net-b 192.168.1.0 modem-net 10.0.0.0 gimli@phoenix:~$ cat /etc/hosts 127.0.0.1 localhost 10.0.0.1 modem 10.0.0.2 phoenix 192.168.0.1 phoenix 192.168.0.2 acubens 192.168.1.1 phoenix 192.168.1.2 altarf Per farti un esempio di maschera molto stretta ho ridotto notevolmente la sotto-rete 10.0.0.x, cosa che avevo anni fa ma poi avevo riportato a valori comuni, quindi non sono valori che ho in uso ma credo di averli scritti correttamente. Codice:
eth0 inet addr:10.0.0.2 Bcast:10.0.0.7 Mask:255.255.255.248 eth1 inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0 eth2 inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0 Codice:
eth0 inet addr:10.0.0.2 Bcast:10.0.0.7 Mask:255.255.255.248 eth1 inet addr:192.168.0.129 Bcast:192.168.0.255 Mask:255.255.255.128 eth2 inet addr:192.168.0.1 Bcast:192.168.0.127 Mask:255.255.255.128
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...) |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Jan 2006
Messaggi: 1525
|
Ok, credo di aver capito, quindi qualcosa del genere sarebbe corretto?
![]() Nel frattempo sono riuscito a creare la rete ad-hoc tra PC1 e PC3 ed a pingare le due schede di rete 192.168.1.1 e 192.168.1.2. Adesso dovrei usare un comando di nat simile a quello precedente: Codice:
# iptables -A POSTROUTING -t nat -s 192.168.1.0/24 -o eth1 -j SNAT --to 10.0.0.2
__________________
-)(- debian -)(- Ultima modifica di psimem : 03-12-2011 alle 16:36. |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3010
|
Il tuo schema mi sembra corretto. Nei PC2 e 3 dove non hai specificato il gateway dovrai impostare l'indirizzo della relativa interfaccia del PC1.
Anche la regola per la seconda rete mi sembra ok.
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...) |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Jan 2006
Messaggi: 1525
|
Ed infatti funziona
Schema finale: ![]() PS: si' mi sono scordato di dire che avevo gia' impostato i relativi gateway. Una curiosita': l'indirizzo del server DNS e' indispensabile specificarlo per PC2 e PC3? Io per sicurezza l'ho inserito.
__________________
-)(- debian -)(- Ultima modifica di psimem : 03-12-2011 alle 16:47. |
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Jan 2006
Messaggi: 1525
|
I due comandi per il nat per renderli attivi ad ogni avvio dove li posso inserire?
__________________
-)(- debian -)(- |
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Feb 2002
Messaggi: 2511
|
Se funziona e sei felice siamo a posto e non complichiamoci la vita.
Se pero' vuoi continuare a spippolare col networking io farei, tanto per impegnare un giorno di pioggia: - Su PC1 impostare gli ultimi ottetti degli IP IP di eth0 e ra0 su 254: e' abitudine tenere i GW con IP 254 se usi una maschera di rete /24 (perche' potresti pure ridurla se piovesse anche domani...) - Rinominare le schede di rete: eth0 e ra0 sono poco significativi e soggetti a cambiamenti: guarda come funziona il comando ifrename e imposta dei nomi sensati es lan e wifi per le due schede. Ma quindi tu non hai un access point? Hai stabilito una connessione dirette tra le due schede wireless? |
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Jan 2006
Messaggi: 1525
|
Grazie dei suggerimenti eaman vedro' di conservarli per un giorno di mooolta pioggia
Esatto, non ho un access-point, bensi' ho il disco della morte Pirelli, uno dei primi di quelli ancora con la smart-card inserita di traverso (avra' ormai i suoi bei 10 anni). Inoltre prima di spippolare ulteriormente dovrei ancora: - capire dove inserire i due comandi nat per renderli attivi ad ogni avvio - capire dove inserire il comando iwconfig per la configurazione della scheda wireless per renderlo attivo ad ogni avvio - aggiungere un po' di sicurezza sul collegamento wi-fi magari con una chiave wpa - configurare un firewall su PC1 a protezione degli altri computer Qualche suggerimento? Poi vi prometto che se ci incrociamo da qualche parte un bel birrozzo gelato ve lo offro ben piu' che volentieri.
__________________
-)(- debian -)(- Ultima modifica di psimem : 03-12-2011 alle 17:28. |
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3010
|
Buono il suggerimento di eaman per il gateway all'ip massimo della sotto-rete, può tornar utile.
Per salvare le regole di iptables ci son molte possibilità. Quella che mi sembra più semplice e comoda è questa, usando iptables-restore delle regole salvate con iptables-save. Per farla ancor più semplice e pulita userei il comando da inserire in /etc/network/interfaces suggerito nel commento 5, in modo da evitare uno script personalizzato in /etc/network/if-up.d/ Anche la configurazione del wireless WPA si dovrebbe poter mettere tutta in /etc/network/interfaces (uso il condizionale perché non sono un assiduo utilizzatore di reti wireless, le uso solo per emergenze non salvando mai impostazioni). Riguardo a qualche regola di firewall un po' più stretta qui puoi trovare un esempio delle regole che utilizzo.
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...) |
|
|
|
|
|
#14 | ||||||
|
Senior Member
Iscritto dal: Feb 2002
Messaggi: 2511
|
Quote:
Quote:
Codice:
iface lan inet static
post-up /sbin/iptables-restore /root/nat/basic
address 192.168.0.254
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
mtu 7000
Quote:
- http://wiki.debian.org/WiFi/HowToUse#wpa_supplicant - oppure per il roaming: http://ubuntuforums.org/showthread.php?t=1259003 Quote:
Quote:
Comunque queste non fanno male, sulla macchina che fa il NAT: Codice:
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT ! -i device-da-cui-arriva-internet -m state --state NEW -j ACCEPT -A INPUT -i device-da-cui-arriva-internet -j REJECT --reject-with icmp-port-unreachable # Queste per prevenire attacchi brute force su SSH sul gateway, # Sempre se hai SSH -A INPUT -i device-da-cui-arriva-internet -p tcp -m tcp --dport 22 -m state --state NEW -m recent --update --seconds 180 --hitcount 2 --name DEFAULT --rsource -j DROP -A INPUT -i device-da-cui-arriva-internet -p tcp -m tcp --dport 22 -m state --state NEW -m recent --set --name DEFAULT --rsource Quote:
Ultima modifica di eaman : 03-12-2011 alle 18:25. |
||||||
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Feb 2002
Messaggi: 2511
|
Edit stupido post
Ultima modifica di eaman : 03-12-2011 alle 18:23. |
|
|
|
|
|
#16 | |
|
Senior Member
Iscritto dal: Jan 2006
Messaggi: 1525
|
Quote:
Per il firewall pensavo di usare un'interfaccia, onde evitare l'impatto testuale; che ne dici di guarddog?
__________________
-)(- debian -)(- |
|
|
|
|
|
|
#17 | |
|
Senior Member
Iscritto dal: Jan 2006
Messaggi: 1525
|
Quote:
__________________
-)(- debian -)(- |
|
|
|
|
|
|
#18 | ||
|
Senior Member
Iscritto dal: Feb 2002
Messaggi: 2511
|
Quote:
NFS server dovrebbe essere settato per ascoltare solo sull'interfaccia di rete locale, stessa cosa per il server VNC. Comunque sono entrambi su una rete privata per altro diversa da quella su cui e' il modem: ergo da fuori non sono raggiungibili. Quote:
Comunque le seguenti 3 regole impediscono a gente di fuori di introfularsi dentro la tua LAN: Codice:
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT ! -i device-da-cui-arriva-internet -m state --state NEW -j ACCEPT -A INPUT -i device-da-cui-arriva-internet -j REJECT --reject-with icmp-port-unreachable |
||
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:30.
























