1

Соединяюсь с роутером через eth0 - работает, внешняя сеть роутера есть.
ifconfig eth0 down
через wlan0 доступен роутер, внешняя сеть недоступна.
ifconfig wlan0 down
ifconfig eth0 up
через eth0 доступен роутер, внешняя сеть недоступна.
После перезагрузки на исходную.

Где может быть причина?

2

Попробуйте как-то так:

# dhcpcd eth0
Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Slackware64-current/Xfce/Lenovo G580

3

Нет, DHCP не использую.

Кажется мне, нет маршрута к внешней сети роутера, после перезагрузки возвращается.
Маршрутизация задается один раз при загрузке?

4

Возможно, действительно нет маршрута. А еще, проверьте, что происходит с /etc/resolv.conf. Вообще, если после поднятия wlan0 публичный DNS Google (8.8.8.8) не пингуется, то смотрите маршрутизацию (route). И NetworkManager, как я понимаю, не используете?

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Slackware64-current/Xfce/Lenovo G580

5

Нашел отличия в routing table до и после перезагрузки.
Кто добавляет строки в таблицу при загрузке?

6

Если не ошибаюсь, то /etc/rc.d/rc.inet*

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Slackware64-current/Xfce/Lenovo G580

7

resolv без изменений,
внешние ip не пингуются,
настраиваю в консоли.

8

Интересно то как.
При загрузке компа все маршруты присутствуют, а после выключения интерфейса один из маршрутов пропадает. Разкажыте но как у вас сеть настроена. И покажите таблицу маршрутизации после загрузки ОС и после
ifconfig eth0 down
ifconfig eth0 up

Trouble  in WINDOWS reboot, trouble in UNIX be root.

9 (13.06.2013 19:58:00 отредактировано radium)

Нашел в файле /etc/rc.d/rc.inet1 код изменяющий таблицу маршрутизации:

+ открыть спойлер

#####################
# GATEWAY FUNCTIONS #
#####################

# Function to bring up the gateway if there is not yet a default route:
gateway_up() {                                                         
  if ! /sbin/route -n | grep "^0.0.0.0" 1> /dev/null ; then           
    if [ ! "$GATEWAY" = "" ]; then                                     
      echo "/etc/rc.d/rc.inet1:  /sbin/route add default gw ${GATEWAY} metric 1" | $LOGGER
      /sbin/route add default gw ${GATEWAY} metric 1 2>&1 | $LOGGER                       
    fi                                                                                   
  fi                                                                                     
}                                                                                         

# Function to take down an existing default gateway:
gateway_down() {                                   
  if /sbin/route -n | grep "^0.0.0.0" 1> /dev/null ; then
    echo "/etc/rc.d/rc.inet1:  /sbin/route del default" | $LOGGER
    /sbin/route del default                                     
  fi                                                             
}                                                               

# Function to start the network:
start() {                       
  lo_up                         
  for i in ${IFNAME[@]} ; do   
    if_up $i                   
  done                         
  gateway_up                   
}                               

# Function to stop the network:
stop() {                       
  gateway_down                 
  for i in ${IFNAME[@]} ; do   
    if_down $i                 
  done                         
  lo_down                     
}


А вот таблица после загрузки (вывод route):

+ открыть спойлер

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
localnet        *               255.255.255.0   U     0      0        0 eth0
loopback        *               255.0.0.0       U     0      0        0 lo
default        192.168.1.1      0.0.0.0         UG    1      0        0 eth0


И после перезагрузки eth0:

+ открыть спойлер

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
localnet        *               255.255.255.0   U     0      0        0 eth0
loopback        *               255.0.0.0       U     0      0        0 lo


Файл rc.inet1 вгоняет строку default.... в таблицу, если там этой строки нету. (насколько я понял:)
Gateway берется из rc.inet1.conf и правильно.


Не могу добавить в таблицу строку route add default gw 192.168.1.1 dev wlan0
SIOCADDRT: No such process

route add default gw 192.168.1.1 dev eth0 - прекрасно добавляется.

С файлом rc.inet1 непонятно, при каких условиях производится удаление строки default....
И что это за переменная LOGGER?

10

rc.inet1 править не нужно, у него есть одноименный конфиг, rc.inet1.conf. Разберитесь с ним.

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Slackware64-current/Xfce/Lenovo G580

11

radium⇓ пишет:

ifconfig eth0 down
ifconfig wlan0 down
ifconfig eth0 up
через eth0 доступен роутер, внешняя сеть недоступна.

# /etc/rc.d/rc.inet1 eth0_stop
# /etc/rc.d/rc.inet1 wlan0_stop
# /etc/rc.d/rc.inet1 eth0_start

Если с "ifconfig ... down" всё в порядке, ядро само удалит маршрут через интерфейс из таблицы маршрутов, то при "ifconfig ... up" добавить маршрут некому. Использование "/etc/rc.d/rc.inet1 интерфейс_start" способно помочь в этом вопросе.
Внешняя сеть недоступна из-за отсутствия маршрута по умолчанию. Роутер доступен из-за принадлежности его локальной сети. Вот этой записи в таблице маршрутов вполне достаточно для такого поведения:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
localnet        *               255.255.255.0   U     0      0        0 eth0
radium⇓ пишет:

Не могу добавить в таблицу строку
route add default gw 192.168.1.1 dev wlan0
SIOCADDRT: No such process

Предположу, что причина в том, что адрес wlan0 не принадлежит сети 192.168.1.0/24.


ps. Задача-то какая стояла?

12 (15.06.2013 00:53:17 отредактировано radium)

да, удобно inet1 выполняет все...

"Предположу, что причина в том, что адрес wlan0 не принадлежит сети 192.168.1.0/24."
В точку! - в inet1.conf указал ip и маску для wlan0, небыло.

Работает.
Спасибо!
Задача была - подключиться к роутеру WiFi, кроме провода.

13

А где задать wlan0 по-умолчанию при загрузке вместо eth0?

14

Не совсем понятен вопрос. Нужно использовать для подключения к сети wlan0? Тогда оставьте в /etc/rc.d/rc.inet1.conf параметры только в отношении него, что-то вроде:

IFNAME[4]="wlan0"
USE_DHCP[4]="yes"
...

остальные параметры, специфичные для WiFi -- по потребности, они там ниже в комментариях присутствуют.

15

Да, именно это.
Просто закомментировать строки?

Лучше, если оба активны,
но это мне надо с таблицей разобраться.

16 (21.06.2013 11:06:52 отредактировано bormant)

radium⇓ пишет:

Лучше, если оба активны

Адаптеры должны работать попеременно, скажем, при наличии соединения по eth0 -- используется проводной вариант, а при отсутствии -- wlan0, или как-то ещё (хотя какой смысл в случае одной сети использовать WiFi при наличии проводного соединения)?
Оба адаптера используют адреса из одной сети или из разных (от этого также зависит настройка шлюза по умолчанию)? Судя по сообщению #9, из разных. В таком варианте мог быть плюс от использования DHCP -- в виде получения от него правильного шлюза по умолчанию при активации адаптера. В противном случае, это придётся делать руками.
Допустим,
eth0: 192.168.1.11, gw 192.168.1.254
wlan0: 192.168.2.11, gw 192.168.2.254
Тогда при обоих активных адаптерах переключение шлюза с одного на другой будет выглядеть как-то наподобие:

# route del default ; route add default gw 192.168.1.254
# route del default ; route add default gw 192.168.2.254
radium⇓ пишет:

А где задать wlan0 по-умолчанию при загрузке вместо eth0?

Если имелось в виду, чтобы трафик шёл через wlan0 по умолчанию, укажите его шлюз в качестве основного GATEWAY="192.168.2.254" (только если wlan0 и eth0 из разных сетей). Если указать шлюз так:
GATEWAY="${GATEWAY:-192.168.2.254}"
сможете явно указывать иной желаемый шлюз при запуске /etc/rc.d/rc.init1, например так:

# /etc/rc.d/rc.inet1 wlan0_stop
# GATEWAY="192.168.1.254" /etc/rc.d/rc.inet1 eth0_start

17 (18.08.2013 11:21:10 отредактировано betssaf)

Всем привет! Имеется ноутбук с осью Slax - в режиме лайв, с двумя карточками (Wlan, Lan) и стационарный комп (винда ХР). На ноуте приходит интернет (Wlan), нужно его раздавать в Lan карточку (к lan подключен стационар).
на стационаре (windows XP) прописал LAN
192.168.1.3
255.255.255.0
192.168.1.2 шлюз
8.8.8.8 DNS
route add 0.0.0.0 192.168.1.2
на ноуте (Slax) прописал LAN
ifconfig etho 192.168.1.2
ifconfig netmask 255.255.255.0
sysctl -w net.ipv4.ip_forward=1
компы друг друга видят а инета нет на стационаре! Подскажите что далее нужно сделать? третий день бьюсь.
на ноуте wlan0 - 192.168.0.*
P.S. на ноуте нет винта поэтому гружусь с самого шустрого по железу линуха в режиме лайв! Конфиг конечно не сохранится нужно будет если получится пробросить инет прописывать после каждого старта оси. Всем заранее спасибо!
Объясните по порядку что писать в терминале! Я еще новичек в линухе но слакс понравился! Шустрее убунты!

18

iptables -t nat -A POSTROUTING -i eth0 -o wlan0 -j MASQUERADE

Если адрес ip известен и не меняется, можно использовать более дешевый по ресурсам
iptables -t nat -A POSTROUTING -i eth0 -o wlan0 -j SNAT --to-source ip_от_wlan0

Подробнее: http://www.opennet.ru/docs/RUS/iptables/

19 (18.08.2013 15:08:10 отредактировано betssaf)

bormant пишет:

iptables -t nat -A POSTROUTING -i eth0 -o wlan0 -j MASQUERADE

Если адрес ip известен и не меняется, можно использовать более дешевый по ресурсам
iptables -t nat -A POSTROUTING -i eth0 -o wlan0 -j SNAT --to-source ip_от_wlan0

Подробнее: http://www.opennet.ru/docs/RUS/iptables/

на ноуте (вафля) IP постоянный, сейчас проверю оба способа спасибо.

20 (18.08.2013 15:33:49 отредактировано betssaf)

iptables -t nat -A POSTROUTING -i eth0 -o wlan0 -j SNAT --to-source ip_от_wlan0
iptables v1.4.14: Bad IP address "ip_от_wlan0"
Try `iptables -h' or 'iptables --help' for more information.
ошибка!
iptables -t nat -A POSTROUTING -i eth0 -o wlan0 -j MASQUERADE
iptables v1.4.14: Can't use -i with POSTROUTING

Kernel IP routing table (ноут)
Destination     Gateway                       Genmask            Flags   MSS         Window  irtt Iface
default         Dlink-Router.Dl                  0.0.0.0               UG        0 0          0 wlan0
loopback        *                                     255.0.0.0           U         0 0           0 lo
192.168.0.0   *                                     255.255.255.0   U         0 0           0 wlan0
192.168.1.0   *                                     255.255.255.0   U         0 0           0 eth0

инета нету на стационаре (lan карточка)

21

Кроме форвардинга пкетов вам ещё нужно было прописать НАТ в iptables. Я не знаю как вы получаете интернет но можно попробывать вот такой конфиг iptables.

iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
Trouble  in WINDOWS reboot, trouble in UNIX be root.

22 (18.08.2013 16:15:27 отредактировано betssaf)

kisil⇓ пишет:

Я не знаю как вы получаете интернет

получаю через вафлю ИП постоянный на ноуте.
через 5 мин проверю вашу команду.

23 (18.08.2013 16:18:46 отредактировано kisil)

Попробуйте вот это правило

iptables -t nat -A POSTROUTING  -o wlan0 -j SNAT --to-source 192.168.0.*

вместо звёздочки пропишыте последний октэт айпишки вайфайного адаптера.

Trouble  in WINDOWS reboot, trouble in UNIX be root.

24

после какой то последней команды пинг пропал между компами
придется перегрузить слакс.

25

kisil⇓ пишет:

iptables -t nat -A POSTROUTING -o wlan0 -j SNAT --to-source 192.168.0.*

прошла без ошибки инета нету! пинга нет - пропал...перегружусь...5 мин...

26

ничего не понимаю что происходит....
перегрузил слакс в лаве пишу
ifconfig etho 192.168.1.2
стационар пингует ноут
ifconfig eth0 netmask 255.255.255.0
и пинг пропадает...чудеса кикие то

27

Перегрузитесь, попробуйте есть ли пинги на роутер и на локальный комп. Потом наберите команду для включения форвардинга, после этого попробуйте пропинговать роутер из компа с виндой.

Trouble  in WINDOWS reboot, trouble in UNIX be root.

28

Когда вы ввели команду ifconfig etho 192.168.1.2, после этого додавать маску ненадо, ядро само всё сделает. Если хотите задать маску то уё нужно задавать вместе с айпишкой.

Trouble  in WINDOWS reboot, trouble in UNIX be root.

29 (18.08.2013 16:48:52 отредактировано betssaf)

понял в чем проблема! сначала нужно инет подключить через вафлю а потом воткнуть провод в лан карточку и после этого писать
ifconfig etho 192.168.1.2
подскажите из перечисленных выше команд какую нужно следующую я ввел только
ifconfig etho 192.168.1.2
sysctl -w net.ipv4.ip_forward=1
далее ввел
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
и после этого на стационаре в ком строке появилась надпись - ping www.mail.ru
превышен интервал ожидания

30

Пока хватит. Теперь попробйте пропинговать комп с виндой. Потом попробуйте пропинговать ваш роутер с венды. Если всё верно настроено, то пинги должны проходить.

Trouble  in WINDOWS reboot, trouble in UNIX be root.