gdzie źródla rc-scripts?

Artur Frysiak wiget w t17.ds.pwr.wroc.pl
Śro, 31 Mar 1999, 23:26:33 CEST


[środa, 31 marzec 1999], Tomasz Kłoczko napisał(a):

> 1) Wszystkie interfejjsy są opisywane w plikach ifcfg-<dev>-*

Zgadza się.

 
> 2) To co jest po ifcfg-<dev>- w nazwie pliku jest nieistotne i tutaj
>    każdy może sobie nadawać nazwy jakie chce (np.
>    ifcfg-eth0-tunel_do_babci)

Zgadza się

 
> 3) W plikach opisujących interfejsy są zmienne:
>    PROTOCOL=[ipv4|ipx|ipv4]
>    IS_TUNEL=[yes|no]

Nie prawda. IS_TUNEL jest nie potrzebne (patrz dalej).

 
> 4) Interfejsy z IS_TUNEL=no są podnoszone jako pierwsze

Nie istotne.

> 5) Przy kombinacji PROTOCOL=ipv4 i IS_TUNEL=no mamy to co jest w skryptach
>    RH.

Nie zupełnie. (patrz dalej)
 
> 6) Przy PROTOCOL=ipv6 i IS_TUNEL=no w pliku opisującym międzymordzie mogą
>    być zmienne:
>    DEVICE, IPADDR, NETMASK, NETWORK, ONBOOT
> 
> 7) przy PROTOCOL=ipv6 w pliku opisującym międzymordzie moze być:
>    LOCALIP, REMONTEIP, TTL, REALDEV, TOS, ONBOOT
> 
> 8) może być kilka plików PROTOCOL=ipv6 i IS_TUNEL=[yes|no] i tym samym
>    DEVICE (np. DEVICE=eth0)
> 
> Powysze dawałoby możliwość łatwego uzupełnienia obrazu o robienie tuneli
> wmiędzy wszystkimi trzena rodzjami międzymordzi. Uzupełnić by trzeba opis
> ipx, a także inne nie wymienione rzeczy (króre zostały pominięte).
> 
> Kwestie do rostrzygnięcia to:
> - routing statyczny i jego opis.
> 
> W trakcie dyskusji także padła propozycja żeby kierowaźć się w większym
> stopniu nazwą plików w celu rozróżniania rodzajów interfejsów, co
> zmniejszałoby ilość otwarć plików i ich analizy.
> 
> Aliasy międzymordzi moznaby rozwiązać podobnie jak to byłoby do tej pory.

Wdług mnie powinno to wyglądać tak:
1. Opis interafe w pliku ifcfg-<cokolwiek> o formacie:

PROTOCOL={ipv4|ipv6|ipx}

if 	PROTOCOL=ipv4; then

	[ ALIAS={no|yes} ]
	if ALIAS=yes then
		DEVICE=<real device name>:<aliasnumber>
	else
		DEVICE=<name>
		[ BOOTPROTO={none|bootp|dhcp} ]
	fi
	ADDR=<IPv4 addres>
	[ NETMASK= ]
	[ NETWORK= ]
	[ BROADCAST= ]
	[ ONBOOT={no|yes} ]
	[ MULTICAST={|no|yes} ]
	
elif 	PROTOCOL=ipv6; then

	DEVICE=<name>
	ADDR=<IPv6 addres>/<prefix len>
	[ ADDR=<IPv6 addres>/<prefix len>
	  ...
	  ADDR=STOP ]
	[ ONBOOT={no|yes} ]
	[ MULTICAST={|no|yes} ]
	
elif 	PROTOCOL=ipx

	DEVICE=<name>
	FRAMETYPE={802_2|802_3|ETHERII|SNAP}
	NETNUM=
	[ ONBOOT={no|yes} ]
	[ PRIMARY={no|yes} ]
	
fi

[ MTU= ]
[ METRIC= ]

if 	DEVICE=eth* ; then

	[ MEDIA={auto|10baseT|10base2|AUI} ]
	[ MAC=<hw addres> ]
	
elif	DEVICE=ppp* || DEVICE=slip* ; then
	
	PERSIST=yes|no
	MODEMPORT=<device, say /dev/modem>
	LINESPEED=<speed, say 115200>
	DEFABORT=yes|no 
	
	if	DEVICE=ppp* ; then
	
		DEFROUTE=yes|no
		ESCAPECHARS=yes|no
	  	HARDFLOWCTL=yes|no (yes imples "modem crtscts" options)
    	 	PPPOPTIONS=<arbitrary option string>
		PAPNAME=<"name $PAPNAME" on pppd command line>
		REMIP=<remote ip address, normally unspecified>
    		MRU=
    		DISCONNECTTIMEOUT=<number of seconds, default currently 5>
    		RETRYTIMEOUT=<number of seconds, default currently 60>
    		INITSCRIPT=<modem command>
    		DATAFORCHAT=<list of variables>
    		<anything>=<anything> (for chat script)

	fi
fi

2. Tunele opisane są w plikach tnlcfg-<cokolwiek> o formaci:

MODE={ipip|gre|sit|ipxip}
DEVICE=<device name>
if 	MODE=ipxip ; then
	?
else	MODE=ipip || MODE=gre || MODE=sit ; then

	REMOTEADDR=<IPv4 addres>
	[ LOCALADDR=<IPv4 addres> ]
	[ REALDEVICE=<name of physic device>
	[ TTL= ]
	[ TOS= ]
	[ SEQ={no|yes} ]
	[ ISEQ={no|yes} ]
	[ OSEQ={no|yes} ]
	[ KEY= ]
	[ IKEY= ]
	[ OKEY= ]
	[ CSUM={no|yes} ]
	[ ICSUM={no|yes} ]
	[ OCSUM={no|yes} ]
	[ NOPMTUDISC={no|yes} ]
fi

Tunele są tworzone najpierw (aby mogły powstać odpowiednie logic device)
a póżniej konfigurowane są miedzymordzia (logiczne też).

Jeśli coś opuściłem/pominołem prosze mnie poprawić.

Ruting musi być podzielony na dwa pliki:
static-routes
static-routes-ipv6
(w kernelu też są różne tablice opisujące ruting dla róznych protokołów)
Format static-routes:
<device> <network> <netmask> <gateway> <metric> <mss> <window> <irtt>
Format static-routes-ipv6
<device> <network/prefix len> <gateway> <metric> <mss> <window> <irtt>

<mss> <window> i <irtt> byłyby opcjonalne i trzeba się zastanowić nad ich
kolejnością.

Wiget
-- 
  __    __ _            _
 / / /\ \ (_) __ _  ___| |_  @__mail:  Artur Frysiak
 \ \/  \/ / |/ _` |/ _ \ __|            Rudlice 10
  \  /\  /| | (_| |  __/ |_           98-311 Ostrowek
   \/  \/ |_|\__, |\___|\__|
             |___/           email:   Wiget w t17.ds.pwr.wroc.pl
PGP key: http://www.t17.ds.pwr.wroc.pl/~wiget/pgp.key
Fingerprint16 = 70 DB E0 2D 12 AB C7 31  B6 58 B5 61 B3 98 B6 E6



Więcej informacji o liście dyskusyjnej pld-devel-pl