heh.pl
Kanał informacyjny Heh.pl


Niedziela 22 grudnia 2024 r.
artykuły | abc komputera (archiwum) | forum dyskusyjne | redakcja


Temat

Udostepnianie - Slackware - Skrypt


83.16.107.* napisał:
Witam
Dostosowalem sie do opisu ze strony http://linuxweb.linuxindex.pl/?q=node/view/29 i wszystko dziala ale chce zeby to wszystko uruchamialo sie automatycznie przy starcie systemu (slackware) i dlatego zrobilem skrypt (pierwszy w moim zyciu icon_wink.gif ) a wyglada on tak:
CODE
# Zmiana adresu i maski interfejsu eth1
ifconfig eth1 192.168.1.1 netmask 255.255.255.0

# Obsluga ip forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward

# Moduly iptables
/sbin/modprobe iptable_filter
/sbin/modprobe ip_conntrack
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_MASQUERADE
/sbin/modprobe ipt_REDIRECT
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_nat_irc
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_conntrack_irc

# Usuwanie istniejacych lancuchow
iptables -F -t nat
iptables -X -t nat
iptables -F -t filter
iptables -X -t filter

# Polityka filtrow
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT ACCEPT
iptables -t filter -P INPUT DROP

# Ruch
iptables -t filter -A FORWARD -s 192.168.1.0/24 -d 0/0 -j ACCEPT
iptables -t filter -A FORWARD -d 192.168.1.0/24 -s 0/0 -j ACCEPT
iptables -t filter -A INPUT -j ACCEPT

# Wlasciwy NAT
iptables -t nat -A POSTROUTING -s 192.168.1.2 -d 0/0 -j MASQUERADE

i tu moje pytania:
- jest on dobrze napisany?
- gdzie mam go umiescić
- gdzie go mam dopisać żeby działał przy starcie
- jak mam go nazwać?

Dzięki wielkie icon_smile3.gif

62.87.244.* napisał:
1. skrypt nie jest za dobrze napisany, nie ma tu paru regulek
poczytaj tutaj http://lukasz.bromirski.net/docs/translations/linux24-pf.html

2. gdzie chcesz, najlepiej gdzies w /etc/rc.d/

3. jezeli nazwiez ten skrypt rc.firewall i skopiujesz do /etc/rc.d/ to nic nie bedziesz ,usial wiecej robic


83.16.107.* napisał:
ale script działa icon_biggrin3.gif ok dzięki za pomoc...
mam jeszcze jeden problem chciałem uruchomić serwer dhcp i wyedytowałem plik /etc/dhcpd.conf tak:

CODE
# sieć 192.168.1.0/255.255.255.0
subnet 192.168.50.0 netmask 255.255.255.0 {
# domyślnie przydzielamy adresy 192.168.1.100-199:
range 192.168.50.2 192.168.50.199;
# na jeden dzień
default-lease-time 86400;
# poinformujmy że hosty będą korzystać z domeny                    
option domain-name "danonek.uk.pl";
# niech używają naszego routera jako serwera DNS:
option domain-name-servers 194.204.159.1;
option routers 192.168.50.1;
# i dodatkowe info:
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.50.255;

}


i po wpisaniu dhcpd pokazuje taki błąd:


CODE
Internet Software Consortium DHCP Server V3.0pl2
Copyright 1995-2003 Internet Software Consortium.
All rights reserved.
For info, please visit http://www.isc.org/products/DHCP

** You must add a ddns-update-style statement to /etc/dhcpd.conf.
  To get the same behaviour as in 3.0b2pl11 and previous
  versions, add a line that says "ddns-update-style ad-hoc;"
  Please read the dhcpd.conf manual page for more information. **

If you did not get this software from ftp.isc.org, please
get the latest from ftp.isc.org and install that before
requesting help.

If you did get this software from ftp.isc.org and have not
yet read the README, please read it before requesting help.
If you intend to request help from the dhcp-serverisc.org
mailing list, please read the section on the README about
submitting bug reports and requests for help.

Please do not under any circumstances send requests for
help directly to the authors of this software - please
send them to the appropriate mailing list as described in
the README file.

exiting.


co ja mam z tym zrobić?

80.53.147.* napisał:
Skrypt jest źle napisany.
Pierwszym podstawowym błędem jest brak oznaczenia interpretera na początku - na przykład #!/bin/bash
Wypadałoby także na przykład sprawdzić istnienie programów które wykonujesz, ale w tym momencie jest to mniej istotne.
Co do obsługi samego interfejsu to konfigurację masz zawartą w /etc/rc.d/rc.inet1
Jeśli chodzi o odpalanie to najlepiej stworzyć plik /etc/rc.d/rc.<cośtam> i odpalać go z rc.local.

Co do dhcp to w konfigu dodaj 'ddns-update-style ad-hoc;', zresztą może przeczytaj komunikat który dostałeś.


83.16.107.* napisał:
nie znam sie na pisaniu skryptów... ale skrypt działa bez zażutów, co do dhcpd to sobie poradziłem to samo z rc.local icon_biggrin3.gif. wracając do tego skryptu to jak on powinien wyglądać poprawnie?

dzięki icon_smile3.gif

83.16.107.* napisał:
no dobra dodałem te #! icon_smile3.gif wygląda teraz wygląda to tak:

CODE
# Zmiana adresu i maski interfejsu eth1
ifconfig eth1 192.168.50.1 netmask 255.255.255.0

# Obsluga ip forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward

# Moduly iptables
#!/sbin/modprobe iptable_filter
#!/sbin/modprobe ip_conntrack
#!/sbin/modprobe iptable_nat
#!/sbin/modprobe ipt_MASQUERADE
#!/sbin/modprobe ipt_REDIRECT
#!/sbin/modprobe ip_nat_ftp
#!/sbin/modprobe ip_nat_irc
#!/sbin/modprobe ip_conntrack_ftp
#!/sbin/modprobe ip_conntrack_irc

# Usuwanie istniejacych lancuchow
iptables -F -t nat
iptables -X -t nat
iptables -F -t filter
iptables -X -t filter

# Polityka filtrow
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT ACCEPT
iptables -t filter -P INPUT DROP

# Ruch
iptables -t filter -A FORWARD -s 192.168.50.0/24 -d 0/0 -j ACCEPT
iptables -t filter -A FORWARD -d 192.168.50.0/24 -s 0/0 -j ACCEPT
iptables -t filter -A INPUT -j ACCEPT

# Wlasciwy NAT
iptables -t nat -A POSTROUTING -s 192.168.50.2 -d 0/0 -j MASQUERADE

# Uruchamianie DHCPD
dhcpd eth1


80.53.147.* napisał:
Nie tak ;]

CODE

#!/bin/bash
<skrypt>


Pierwsza linijka mówi systemowi spod czego ma ten kod wykonać ;]

62.87.244.* napisał:
poza tym, jest tutaj jeszcze pare niescislosci:

1. ifconfig.... - to sie konfiguruje w pliku /etc/rc.d/rc.inet1.conf a nie w skrypcie
dhcpd tez moglbys uruchamiac innymi skryptami

2. # to znaczek komentarza, wszystko co jest po tym znaku, czyli:
CODE
/sbin/costam # to jest komentarz

# to tez jest komentarz
/sbin/costam


3. te iptables w kolko, mozesz zastpaic takim czyms:
CODE
IPT=`which iptables`

$IPT -F -t nat
$IPT -X -t nat
$IPT -F -t filter
$IPT -X -t filter
itd...


jezeli chcesz miec napisany dobrze skrypt, to poczytaj Advanced Bash Scripting lub jakies kursy po polsku
no i troche o filtrowaniu pakietow...

80.53.147.* napisał:


83.16.107.* napisał:
może i jest źle napisany ale działa bez problemu, skonfigurowałem całą sieć (squid, adres przypisany do mac itp) i po restarcie działa i nic nie musze wpisywać. Więc nie będe go ruszał puki co icon_smile3.gif dzięki za wszelką pomoc icon_wink.gif nigdy nie myślałem że udostepnianie internetu na slackware może być takie proste icon_biggrin3.gif

Pozdro

Podobne tematy


Działy









Copyright © 2002-2024 | Prywatność | Load: 2.17 | SQL: 1 | Uptime: 59 days, 3:06 h:m | Wszelkie uwagi prosimy zgłaszać pod adresem eddy@heh.pl