( Подробности )
( Подробности )
монтируем /proc
#mount -o bind /proc /mnt/gentoo/proc
чрутимся
#chroot /mnt/gentoo /bin/bash
обновляем среду
#env-update && source /etc/profile
1) ставим gdm
2) Открыфваем на редактирование конфигурационный файл (у меня дома /usr/share/gdm/defaults.conf ,в лабе /etc/gdm/defaults.conf)
А вот и то, что нам нужно:
# Attached DISPLAY Configuration
#
[servers]
# This section defines which attached DISPLAYS should be started by GDM by
# default. You can add as many DISPLAYS as desired and they will always be
# started. The key for each entry must be a unique number that cooresponds to
# the DISPLAY number to start the X server. For a typical single-display
# machine, there will only be one entry "0" for DISPLAY ":0". The first word
# in the value corresponds to an X server definition in the "X Server
# Definitions" section of the configuration file. For example, the entry:
#
0=Standard
1=Standart
Добавляем столько записей число=Standart (числа должны быть разные) сколько иксовых консолей нам нужно, в этом же файле можно повесить х-сервера на нужные нам консоли, если больше ничего не делать, то по умолчанию х-чсервер будет запускаться на 7 и 8 консолях ( по порядку начиная с 7).
3)Запускаем gdm
/usr/bin/xdm
4) Добавляем gdm в уровень загрузки по умолчанию
rc-update add xdm default
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "us,ru"
Option "XkbOptions" "grp:ctrl_shift_toggle,lv3:ralt_switch,g
Option "XkbVariant" ",winkeys"
EndSection
/home/dimon/.mozilla/plugins=1
скрипт запускающий инет...и перезапускающий его если вдруг РАЗРЫВ хДДД
/usr/local/etc/rc.d/inet_start.sh
#!/bin/sh
#запускаем natd на интерфейс rl0 с редиректом нужных портов на нужные компы
/sbin/natd -f /etc/natd.conf -p 8668 -n rl0 -redirect_port tcp 192.0.0.197:21 21 -redirect_port tcp 192.0.0.197:65500-65535 65500-65535 -redirect_port tcp arbalest:80 80 -redirect_port tcp arbalest:16858 16858 -redirect_port udp arbalest:30213 30213
#очищаем ipfw от старых правил и разрешаем ВСЁ, чтобы не было проблем с подключением к pptp
/sbin/ipfw -f flush
/sbin/ipfw add allow all from any to any
#коннектимся
/usr/local/sbin/pptp ppp.lan vpn &
#ждем 20 секунд, пока подымется интрефейс tun0
sleep 20
#поднимаем natd на интерфейс tun0 с перенаправлением нужных портов на нужные компы
/sbin/natd -f /etc/natd.conf -p 8669 -n tun0 -redirect_port tcp arbalest:80 80 -redirect_port tcp arbalest:16858 16858 -redirect_port udp arbalest:30213 30213 -redirect_port tcp 192.0.0.196:25462 25462 -redirect_port udp 192.0.0.196:29188 29188
#загружаем правила для ipfw (см. ниже)
/usr/local/etc/firewall.sh
#бесконечный цикл
while :
do
#пингуем яндекс
/sbin/ping -c 3 213.180.204.8
#если не пингуется, то очищаем таблицу маршрутизации, забиваем маршрут до сети, где лежит DNS и pptp сервера, и перезапускаем pptp клиент
if [ $? != 0 ]
then
route flush
route add 212.1.0.0/16 10.5.57.254
route add 10.0.0.0/8 10.5.57.254
/usr/local/sbin/pptp ppp.lan vpn
sleep 20
#если пингуется, просто ждем 10 секунд и повтояем все заново
else
sleep 10
fi
done
/etc/ppp/ppp.conf
vpn:
set authname #ваш логин
set authkey #ваш пароль
set timeout 3600
set ifaddr 0 0
set reconnect 60 0
add 10.0.0.0/8 10.5.57.254 #добавляем маршрут до локалки
add 212.1.0.0/16 10.5.57.254 #в локалке есть и такие адреса тоже =)
add default HISADDR #дефолтный маршрут будет проходить через шлюз который нам скажет pptp сервер
disable mppe #выключаем шифрование
/usr/local/etc/firewall.sh (правила для ipfw):
#!/bin/sh
#объяляем переменные
ipfw="/sbin/ipfw"
uports="1025-65535"
for_lan="aol,smtp,pop3,http,https,ftp,41
homelan="192.0.0.192/29"
userlan="192.0.0.192/30"
nbnlan="10.0.0.0/8"
viplan="192.0.0.196/31"
dns="212.1.224.34"
#список адресов pptp серверов
ppp="10.10.3.36,10.10.3.40,10.10.3.44,10.1
#очищаем старые правила
/sbin/ipfw -f flush
#разрешаем все через loopback
/sbin/ipfw add allow all from any to any via lo0
/sbin/ipfw add deny all from any to 127.0.0.0/8
#запрещаем локальные ip на внешних интерфейсах
/sbin/ipfw add deny all from 127.0.0.0/8 to any in recv tun0
/sbin/ipfw add deny all from $homelan to any in recv tun0
/sbin/ipfw add deny all from 127.0.0.0/8 to any in recv rl0
/sbin/ipfw add deny all from $homelan to any in recv rl0
#Ограничиваем скорость
/sbin/ipfw add pipe 1 ip from $userlan to $userlan
/sbin/ipfw pipe 1 config bw 1024Mbit/s
$ipfw add pipe 2 ip from $nbnlan to $userlan
$ipfw pipe 2 config bw 100Mbit/s
$ipfw add pipe 3 ip from any to $userlan tcpflags ack iplen 0-128
$ipfw pipe 3 config bw 100Mbit/s
$ipfw add pipe 4 ip from any to $userlan
$ipfw pipe 4 config bw 1000Kbit/s
#разрешаем локальную сеть
$ipfw add allow icmp from $userlan to any in recv re0
$ipfw add allow icmp from any to $userlan out xmit re0
$ipfw add allow ip from $userlan $uports,68 to any $for_lan,67,$uports,domain in recv re0
$ipfw add allow ip from any $for_lan,67,$uports,domain to $userlan $uports,68 out xmit re0
$ipfw add allow all from $viplan to any in recv re0
$ipfw add allow all from any to $viplan out xmit re0
#Разрешаем FTP
/sbin/ipfw add allow tcp from any to me 21,65500-65535 in via rl0
/sbin/ipfw add allow tcp from me 21,65500-65535 to any $uports out xmit rl0
/sbin/ipfw add allow tcp from any to me 21,65500-65535 in via tun0
/sbin/ipfw add allow tcp from me 21,65500-65535 to any $uports out xmit tun0
#Разрешаем SSH извне
$ipfw add allow ip from any to me 22 in recv tun0
$ipfw add allow ip from me 22 to any out xmit tun0
#Диветрим в natd на rl0
/sbin/ipfw add divert 8668 all from $homelan to not $homelan out via rl0
/sbin/ipfw add divert 8668 all from any to 10.5.57.6 in recv rl0
#Правила для rl0
#Разрешаем GRE для pptp
/sbin/ipfw add allow gre from 10.5.57.6 to $ppp out xmit rl0
/sbin/ipfw add allow gre from $ppp to 10.5.57.6 in recv rl0
#для нбн
/sbin/ipfw add allow tcp from 10.5.57.6 to any $for_lan out xmit rl0
/sbin/ipfw add allow tcp from any $for_lan to $homelan $uports in recv rl0 established
/sbin/ipfw add allow ip from 10.5.57.6 $uports to any $uports out xmit rl0
/sbin/ipfw add allow ip from any $uports to $homelan $uports in recv rl0
#Диветрим в natd на tun0
/sbin/ipfw add divert 8669 all from $homelan to not $homelan out via tun0
/sbin/ipfw add divert 8669 all from any to 212.1.247.74 in recv tun0
#Правила для tun0
/sbin/ipfw add allow all from any to any via tun0
/sbin/ipfw add allow ip from 212.1.247.74 to any $for_lan out xmit tun0
/sbin/ipfw add allow ip from any $for_lan to $homelan $uports in recv tun0 established
/sbin/ipfw add allow ip from 212.1.247.74 $uports to any $uports out xmit tun0
/sbin/ipfw add allow ip from any $uports to $homelan $uports in recv tun0
#Правила для самой фришки
/sbin/ipfw add allow ip from any $for_lan to 10.5.57.6 $uports in recv rl0 established
/sbin/ipfw add allow ip from any $for_lan to 212.1.247.74 $uports in recv tun0 established
/sbin/ipfw add allow ip from any $uports to 10.5.57.6 $uports in recv rl0 established
/sbin/ipfw add allow ip from any $uports to 212.1.247.74 $uports in recv tun0 established
#DNS
/sbin/ipfw add allow udp from 10.5.57.6 1025-65535 to $dns domain out xmit rl0
/sbin/ipfw add allow udp from $dns domain to 10.5.57.6 1025-65535 in recv rl0
/sbin/ipfw add allow udp from $dns domain to $homelan 1025-65535 in recv rl0
#icmp
/sbin/ipfw add allow icmp from any to me icmptypes 0,3,4,11,12 in
/sbin/ipfw add allow icmp from any to $homelan icmptypes 0,3,4,11,12 in recv rl0
/sbin/ipfw add allow icmp from any to $homelan icmptypes 0,3,4,11,12 in recv tun0
/sbin/ipfw add allow icmp from me to any icmptypes 3,8,12 out
#пишем лог на попытки установить соединение с фришкой
/sbin/ipfw add deny log logamount 700 tcp from any to 10.5.57.6 1-20,22-65500 in recv rl0 setup
/sbin/ipfw add deny log logamount 700 tcp from any to 212.1.247.74 1-20,22-65500 in recv tun0 setup
#deny all
/sbin/ipfw add deny all from any to any via any
надеюсь никто не воспользуется этой информацией против меня =)))))))) зато может поможет кому-нить =)
кстати никому не нужен сетевой админ или помощник на лето? немножко знаю tcp/ip, статическую и динамическую маршрутизацию и т.п. *nix, cisco....
объяву в инете повесил, чето не звонит никто =(
case и switch хорошая конструкция....все время забываю как она работает =)
#include
using namespace std;
int main(void)
{
char igrade;
cout<<"What grade did u get on exam???"<
case и switch хорошая конструкция....все время забываю как она работает =)
#include <iostream>
using namespace std;
int main(void)
{
char igrade;
cout<<"What grade did u get on exam???"<<endl;
cin>>igrade;
switch(igrade)
{
case'A':cout<<"U've only 1 point! awfull!"<<endl;break;
case'B':cout<<"2"<<endl;break;
case'C':cout<<"3"<<endl;break;
case'D':cout<<"good!"<<endl;break;
case'E':cout<<"excelent!"<<endl;break;
default:cout<<"lie"<<endl;break;
}
}
прога, считающая сколько цифр в числе, нормально считает только до 11 значных чисел......
#include <iostream>
using namespace std;
int fin(long long inum)
{
int btrue=0;
int ipower=1;
long long iten=10;
while(!btrue)
{
if(inum<iten)
{
btrue=1;
return(ipower);
}
else
{
iten*=10;
ipower++;
}
}
}
int main(void)
{
int onum;
cout<<"Введите целое число"<<endl;
cin>>onum;
cout<<"В этом числе "<<fin(onum)<<" цифр"<<endl;
}
Прога создает массив цифр числа, введенного с клавы и выводит его на экран......+ встроенная функция, которая возводит 10 в нужную степень ^_____^ ыыыыыыы
#include <iostream>
using namespace std;
int fin(int inum)
{
int btrue=0;
int ipower=1;
int iten=10;
while(!btrue)
{
if(inum<iten)
{
btrue=1;
return(ipower);
}
else
{
iten*=10;
ipower++;
}
}
}
int teninpower(int power)
{
int ten=1;
for (int k=1; k<=power; k++)
{
ten*=10;
}
return(ten);
}
int main(void)
{
int number,n,k,ten;
int figure[20];
cout<<"Введите целое число"<<endl;
cin>>number;
n = fin(number);
k = n;
cout<<"число цифр в вашем числе = "<<n<<endl;
for (int i=1; i<=k; i++)
{
n--;
ten=teninpower(n);
figure[i] = number/ten;
cout<<i<<"-ая цифра этого числа "<<figure[i]<<endl;
number -= figure[i]*ten;
}
}
При подключении нам выдается листок с настройками tcp/ip ( ip адрес (10.5.57.6), шлюз (10.5.57.254), маска (255.255.255.0), DNS), после того как мы вводим эти настройки, получаем доступ к локальной сети (10.0.0.0/8), чтобы получить доступ в инет необходимо авторизоваться на pppoe сервере, при этом новому интерфейсу выдается внешний ip (212.1.247.74), и в инет мы ходим через внешний шлюз (212.1.254.32). Естественно, при подключении к pppoe серверу, все старые маршруты стираются, а дефолтным прописывается внешний шлюз (212.1.254.32), чтобы получить доступ в локальную сеть (10.0.0.0/8) при включенном инете необходимо прописать маршрут route add 10.0.0.0/8 (локальная сеть) 10.5.57.254 (локальный шлюз).
Наша задача:
Настроить роутер таким образом, что пользователи могли выходить и в локальную сеть (10.0.0.0/8) и в инет.
Как все это было:
В нашем случае интрефейc rl0 (ip 192.0.0.1) смотрит в мою домашнюю сеть (192.0.0.0.0/24)
rl1 (ip 10.5.57.6) - интерфейс который смотрит в локальную сеть (10.0.0.0/8)
tun0 (ip 212.1.247.74 -присваевается автоматически при создании интерфейса [в нашем случае в момент загрузки]) - интерфейс, который создается при подключении к pppoe
Не забываем прописать локальный шлюз (10.5.57.254), и
1) собираем ядро со следущими опциями:
# Включаем поддержку firewall-a
options IPFIREWALL
options IPFIREWALL_VERBOSE
options "IPFIREWALL_VERBOSE_LIMIT=100"
# Включаем DIVERT пакетов приходящих на интерфейс для NAT
options IPDIVERT
2)
После команды make depend; make clean; make all; make install перезагрузим систему и займемся настройкой firewall-a. Создадим файл в /usr/local/etc/rc.d/firewall.sh и дадим ему право исполнения chmod +x firewall.sh . Содержимое файла :
#!/bin/sh
#Очищаем предыдущие правила
/sbin/ipfw -f flush
# Разрешаем NATD
/sbin/ipfw add divert natd ip from 192.168.1.0/24 to any out via ed0
/sbin/ipfw add divert natd ip from any to 200.200.200.1 in via ed0
# Ниже идет строка открывающая работу по всем портам снаружи
/sbin/ipfw add allow all from any to any via rl1
/sbin/ipfw add allow all from any to any via tun0
# Далее пишем правила под нашу домашнюю сеть .не мудрствуя лукаво:
/sbin/ipfw add allow all from any to any via rl0
3)Теперь создадим файл /usr/local/etc/rc.d/natd.sh (дав на него chmod +x) :
#!/bin/sh
# Запускаем при старте natd и указываем чтобы он работал с rl1 (ключ -n)
/sbin/natd -f /etc/natd.conf -n rl1
4)
В файле /etc/natd.conf прописываем
same_ports yes
use_sockets yes
5)
Включаем следующее в /etc/ppp/ppp.conf:
pppoe:
set log Phase Chat LCP IPCP CCP tun command
set device PPPoE:iface:* #Заменить iface на Ваш интерфейс (например, rl0 или fxp0)
set authname login #Заменить login на Ваш логин
set authkey password #Заменить password на Ваш пароль
enable lqr
set dial
set login
set ifaddr 0.0.0.0/0 0.0.0.0/0
add default HISADDR
Примечание: Строки после метки (рррое:) должны начинаться с пробела!
{
у меня все запускается при загрузке...просто для общего развития =)
Запуск VPN вручную:
ppp -ddial pppoe
Остановка VPN вручную:
- ifconfig delete tun0
- killall -9 ppp
}
6)Создаем файл /usr/local/etc/rc.d/route.sh и присваем ему бит исполняемости. Содержание:
#!/bin/sh
#маршрут до локальной сети (10.0.0.0/8)
/sbin/route add 10.0.0.0/8 10.5.57.254
7) Добавляем /etc/rc.conf :
#Включаем маршрутизацию
gateway_enable = "YES"
#включаем pppppp_enable="YES"После перезагрузки мы получим работающий роутер с natd и в локальной сети Вам необходимо прописать в TCP/IP setting на рабочих станциях Windows адрес gateway - 192.0.0.1 и дополнительно адрес внешнего DNS сервера.
ppp_mode="ddial"
ppp_profile="pppoe"
#эта строка включает нам nat на tun0
ppp_nat="YES"
ppp_user="root"
Спасибо:
http://help.netbynet.ru/internet_setting
http://www.unixdoc.ru/index.php?mode=2&p
2) Создаем каталог etc в каталоге в котором установлена Windows:
в с:\windows (для Win 98 )
в c:\winnt (для Win 2000)
3)Копируем в каталог etc два файла из полученного архива: exports и rpc
Файл exports редактируем согласно нашим желаниям:
(по умолчанию:
/c -path=c:\
/d -path=d:\
)
4) Затем необходимо отредактировать файл hosts который находится в каталоге c:\winnt\system32\drivers\etc\ для Windows 2000
или в каталоге c:\windows для Windows 95, 98.
Дописываем туда IP-адрес клиента и его имя.
5) Копируем, из скачанного архива, файлы portmap.exe, nfs.exe и showmount.exe в каталог Windows (в с:\windows для Win 98 или
в c:\winnt для Win 2000).
6)Запускаем сервер
Для Windows 98:
portmap
nfs
Для Windows 98 желательно создать в текстовом редакторе файл nfs.bat в котором указать две вышеприведенные команды
и поместить его в Автозагрузку иначе Вам каждый раз придется запускать сервер вручную.
Для Windows 2000:
portmap add
nfs add
nfs start
Сервер при загрузке Windows 2000 стартует автоматически.
Перезагружаем компьютер.
Проверяем, все ли правильно мы сделали. Для этого выполняем команду:
showmount – e
Результат должен быть следующим:
TrueGrid SHOWMOUNT UTILITY.
COPYRIGHT (C) BY XYZ SCIENTIFIC APPLICATIONS, INC., 1998
ALL RIGHTS RESERVED. TrueGrid IS A TRADEMARK OF
XYZ SCIENTIFIC APPLICATIONS, INC.
Взято отсюда: http://www.sat-expert.com/Nokia_Dbox/p2_
device atapicam
device scbus
device cd
device pass
после этого мона будет делать так:
# mount -t cd9660 /dev/cd0 /cdrom
2)в /etc/devfs.conf добавляем:
# Commonly used by many ports
link acd0 cdrom
link acd0 dvd
perm acd0 0660
perm cd0 0660
perm pass0 0660
perm pass1 0660
perm pass2 0660
perm pass3 0660
perm xpt0 0666
3)Добавляем себя в группу operator в /etc/group
4)Ставим писальщик типа k3b + dvd+rw-tools для записи dvd
...радуемся жизни =)
http://networking.ringofsaturn.com/U
2)/etc/libmap.conf
# Flash7 with Mozilla
[/usr/local/lib/npapi/linux-flashplugin/l
libpthread.so.0 libpthread.so.2
libdl.so.2 pluginwrapper/flash7.so
libz.so.1 libz.so.3
libm.so.6 libm.so.4
libc.so.6 pluginwrapper/flash7.so
3)Ставим linux-flashplugin7

