Zanim jednak zaczniemy
Autor nie bierze odpowiedzialności za uszkodzenia powstałe w wyniku stosowania poniższych instrukcji. Przy wykonywaniu/modyfikowaniu komend zaleca się wykonywanie kopii zapasowych edytowanych plików na wypadek awarii. Powyższe instrukcje sprawdziłem osobiście przy stałym adresie IP połączenia na systemie operacyjnym Linux Ubuntu 7.10 z jądrem2.6.22-14-generic i działały bezproblemowo.
Pierwsze co będzie nam potrzebne to zasadniczo 2 kompy, trochę kabla i 2 wtyczki RJ45 - przydałaby się także zaciskarka do owych wtyków. Maszyna udostępniająca musi posiadać 2 interfejsy sieciowe ( jeden do Internetu i drugi do drugiego kompa). W drugim kompie potrzeba tylko jednej sieciówki. Oba komputery lączymy przy uzyciu kabla skrosowanego, czyli na jednej wtyczce kolory powinny być ustawione:
Kod: Zaznacz cały
biało-pomarańcz. pomarańcz. biało-ziel. nieb. biało-nieb. ziel. biało-brąz. brąz
Kod: Zaznacz cały
biało-ziel. ziel biało-pomarańcz. nieb. biało-nieb. pomarańcz. biało-brąz. brąz
Teraz pora na ustawienie odpowiednich parametrów w komputerze udostępniającym sieć. Przy użyciu ifconfig orientujemy się, która karta będzie służyć do połączenia z siecią, a która do udostępniania łącza. W tym tutorialu założyłem, że:
eth0 - udostępnia
eth1 - łączy się z internetem
Ustawiamy na początek IP dla karty udostepniającej
Kod: Zaznacz cały
sudo ifconfig eth0 192.168.0.1 up
W skrypcie założono takie interfejsy jak podane powyżej - jeżeli masz inne to musisz zmienic je w odpowiednich linijkach. Również IP wyjsciowe jest takie jak u mnie
Kod: Zaznacz cały
#!/bin/sh
# Sciezka do iptables
IPTABLES=/sbin/iptables
# Interfejs zewnetrzny
EXT_IP=77.65.162.134
EXT_INT=eth1
PODSIEC1=”192.168.0.0/24″
PODSIEC2=”192.168.1.0/24″
$IPTABLES -t nat -A POSTROUTING -s $PODSIEC1 -o $EXT_INT -j SNAT –to-source $EXT_IP
$IPTABLES -t nat -A POSTROUTING -s $PODSIEC2 -o $EXT_INT -j SNAT –to-source $EXT_IP
# Lokalny interfejs
LAN_IP=192.168.0.1
LAN_INT=eth0
# Siec
SIEC_IP=192.168.0.0
SIEC_MASKA=255.255.255.0
SIEC_IP2=192.168.1.0
SIEC_MASKA2=255.255.255.0
# Hosty, ktorym udostepniamy lacze
HOST1=192.168.0.2
HOST2=192.168.1.2
# Uruchomienie przekazywania pakietow
echo “1″ > /proc/sys/net/ipv4/ip_forward
# Czyszczenie tablic iptables (NAT i Filtrowanie)
$IPTABLES -F -t nat
$IPTABLES -X -t nat
$IPTABLES -F -t filter
$IPTABLES -X -t filter
# Odrzucenie i brak zezwolenia na forwardowanie pakietow
$IPTABLES -t filter -P FORWARD DROP
# Przepuszczanie pakietow z sieci lub przeznaczone dla sieci
$IPTABLES -t filter -A FORWARD -s $SIEC_IP/$SIEC_MASKA -d 0/0 -j ACCEPT
$IPTABLES -t filter -A FORWARD -s 0/0 -d $SIEC_IP/$SIEC_MASKA -j ACCEPT
$IPTABLES -t filter -A FORWARD -s $SIEC_IP2/$SIEC_MASKA2 -d /0 -j ACCEPT
$IPTABLES -t filter -A FORWARD -s 0/0 -d $SIEC_IP2/$SIEC_MASKA2 -j ACCEPT
# Maskarada
$IPTABLES -t nat -A POSTROUTING -s $HOST1 -d 0/0 -j MASQUERADE
$IPTABLES -t nat -A POSTROUTING -s $HOST2 -d 0/0 -j MASQUERADE
# Moduly do FTP i IRCa
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_nat_irc
Kod: Zaznacz cały
sudo chmod +x /home/user/iptables.sh
Wchodzimy w Połączenia internetowe i następnie we właściwości interfejsu, do ktorego mamy podpięty kabel. Dalej zaznaczamy protokój TCP/IP i tam ustawiamy następujące wartości.
IP: 192.168.0.2
Brama: 192.168.0.1
I ta srodkowa wartość(nie pamietam co to ma być): 255.255.255.0
i do tego DNS'y takie jakie odpisaliśmy z Ubuntu.
No i tym sposobem internet na drugim kompie powinien działać bezproblemowo. Jednakże reboot komputera z Ubuntu zmusi nas do ponownej zmiany IP interfejsu i odpalenia skryptu. Aby temu zaradzić odpalamy
Kod: Zaznacz cały
sudo gedit etc/rc.local
Kod: Zaznacz cały
/home/user/iptables.sh
Kod: Zaznacz cały
sudo gedit /etc/network/interfaces
Kod: Zaznacz cały
iface eth0 inet static address 192.168.0.1 netmask 255.255.255.0
źródło: http://www.karmelek.wordpress.com