Раздача Интернета через Wi-Fi

Sabayon, Calculate, Funtoo, Exherbo

Модератор: /dev/random

zenitur
Сообщения: 594
Статус: Одмин
ОС: openSuSE 10.2

Раздача Интернета через Wi-Fi

Сообщение zenitur »

Здравствуйте. У меня тупейший модем от Интеркросс, который хоть и поддерживает DHCP, всё равно работает только через статический IP 192.168.1.2 (например) и gateway 192.168.1.1. В SuSE настроить YaST мышкой было не проблема, в Gentoo у меня такой конфиг /etc/conf.d/net:

Код: Выделить всё

modules="ifconfig"
nis_domain_lo="mshome"
dns_servers=( "8.8.8.8" "8.8.4.4" )
routes_eth0=( "default via 192.168.1.1" )
config_eth0=( "192.168.1.2/24" )
auto_eth0="true"
dns_servers_eth0="8.8.8.8"
enable_ipv6_eth0="false"


Вот так работает. Ах да, ещё нужен файл /etc/init.d/net.eth0

Моя задача: раздать Интернет по Wi-Fi. Последний раз я этим занимался 4 года назад и вот мой старый конфиг. /etc/dhcp3/dhcpd.conf:

Код: Выделить всё

ddns-update-style ad-hoc;
default-lease-time 3600;
max-lease-time 9000;
authoritative;
log-facility local7;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.2 192.168.0.255;
option routers 192.168.0.1;
option broadcast-address 192.168.0.0;
}


/etc/sysctl.conf:

Код: Выделить всё

net.ipv4.conf.default.forwarding=1
net.ipv6.conf.default.forwarding=1


/etc/default/dhcp3-server:

Код: Выделить всё

INTERFACES="ath0"


При загрузке системы dhcp3 писал failed (это сейчас я знаю, что можно было и отключить), при старте скрипта запуска он сменялся на OK. Скрипт запуска:

Код: Выделить всё

wlanconfig ath0 destroy
wlanconfig ath0 create wlandev wifi0 wlanmode apath0
iwconfig ath0 essid ATHLON64-INET
iwconfig ath0 key 1230-2120-00
iwconfig ath0 channel 13
ifconfig ath0 192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255 up
/etc/init.d/dhcp3-server restart
sysctl -p
iptables -F
iptables -t nat -F
iptables -A FORWARD -i ath0 -s 192.168.2.0/255.255.255.0 -j ACCEPT
iptables -A FORWARD -i eth0 -d 192.168.1.0/255.255.255.0 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE


Только что загружался в Ubuntu 7.04, запустил скрипт - и всё работает. Так вот, хочу чтобы работало и в Gentoo тоже. А как это сделать? dhcp3 в portage я не нашёл... ath5k замаскировал в пользу madwifi, потому что с ath5k у меня проблемы. Пользуюсь по старинке ath0.
А йа Ктулху! А йа - Медве-ед! А где Путин? Путина не-ет! Если встретишь - зохавай моск! А вернёшься - скажи ПРЕВЕД! Превед, Ктулху! Превед, Медвед!
Спасибо сказали:
Аватара пользователя
DaemonTux
Сообщения: 1480
Статус: Юный падаван
ОС: Gentoo

Re: Раздача Интернета через Wi-Fi

Сообщение DaemonTux »

zenitur писал(а):
08.07.2011 13:28
dhcp3 в portage я не нашёл...

Видимо плохо искали

Код: Выделить всё

# eix dhcp
* net-misc/dhcp
     Available versions:  3.1.2_p1 3.1.3_p1 ~4.2.1_p1 {+client doc ipv6 kernel_linux ldap minimal selinux +server ssl static vim-syntax}
     Homepage:            http://www.isc.org/products/DHCP
     Description:         ISC Dynamic Host Configuration Protocol (DHCP) client/server

...Так вот, хочу чтобы работало и в Gentoo тоже. А как это сделать...

Видимо учесть специфику дженту и поправить скрипт. Всегда ваш К. О.
Vladivostok Linux User Group
Спасибо сказали:
zenitur
Сообщения: 594
Статус: Одмин
ОС: openSuSE 10.2

Re: Раздача Интернета через Wi-Fi

Сообщение zenitur »

Учёл, подправил. Пишу с ноутбука. Чуть позже будет подправленный скрипт.

/etc/dhcp/dhcpd.conf

Код: Выделить всё

ddns-update-style interim;
default-lease-time 3600;
max-lease-time 9000;
authoritative;
log-facility local7;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.2 192.168.0.255;
option routers 192.168.0.1;
option broadcast-address 192.168.0.0;
}


Отличается только первая строчка

/etc/conf.d/dhcpd

Код: Выделить всё

DHCPD_IFACE="ath0"


/etc/sysctl.conf

Код: Выделить всё

net.ipv4.ip_forward = 1


Скрипт запуска:

Код: Выделить всё

wlanconfig ath0 create wlandev wifi0 wlanmode apath0
iwconfig ath0 essid ATHLON64-INET
iwconfig ath0 channel 13
ifconfig ath0 192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255 up
/etc/init.d/dhcpd restart
sysctl -p
iptables -F
iptables -t nat -F
iptables -A FORWARD -i ath0 -s 192.168.2.0/255.255.255.0 -j ACCEPT
iptables -A FORWARD -i eth0 -d 192.168.1.0/255.255.255.0 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
А йа Ктулху! А йа - Медве-ед! А где Путин? Путина не-ет! Если встретишь - зохавай моск! А вернёшься - скажи ПРЕВЕД! Превед, Ктулху! Превед, Медвед!
Спасибо сказали: