|
|
Возраст: 43 C нами с 16.04.2005 Репутация: 122.8
|
|
Привет всем. Подскажите куда рыть в моей ситуации.
Сразу оговорюсь, с Debian я знаком не очень хорошо, даже сказал бы очень нехорошо, поэтому за пути решения моей задачи прошу сильно не ругать!
Решил дома шлюзом сделать машину с Debian 6.0.5 Squeeze x86 на борту. Как полагается две сетевухи: встроенная eth0 - 3Com Corporation 3CSOHO100B-TX 910-A01 [tulip] (rev 31) на локальную сеть и PCI eth1 - 3Com Corporation 3c905B 100BaseTX [Cyclone] (rev 30) на интернет.
Нашел и интернетах всякие интструкции и сделал вот что:
1. Прописал адреса в /etc/network/interfaces
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
#allow-hotplug eth0
#iface eth0 inet dhcp
# eth0 local network
auto eth0
iface eth0 inet static
address 192.168.10.1
netmask 255.255.255.0
network 192.168.10.0
broadcast 192.168.10.255
# eth1 - AVIEL with real IP
auto eth1
allow-hotplug eth1
iface eth1 inet dhcp |
2. В /etc/sysctl.conf раскоментировал строчку
3. Добавил в /etc/rc.local
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE |
По виндовому перезагрузил сервер, тем более его все равно нужно было переносить в другое место
Что мы имеем в итоге:
Внутренний интерфейс eth0 работает стабильно и без сбоев, и даже когда пропадает инет консоль не отваливается.
А вот внешний интерфейс eth1, который получает IP по DHCP, отваливается с завидным постоянством, примерно раз в 5-15 минут и недоступен около 5 минут.
Вот кусочки логов:
kern.log
Sep 6 11:57:16 debian-usama kernel: [47673.025458] 0000:01:00.0: tulip_stop_rxtx() failed (CSR5 0xfc06c012 CSR6 0xff970111)
Sep 6 11:57:16 debian-usama kernel: [47673.272316] eth1: setting full-duplex.
Sep 6 11:57:19 debian-usama kernel: [47676.117905] 0000:01:00.0: tulip_stop_rxtx() failed (CSR5 0xfc664010 CSR6 0xff972113)
Sep 6 11:57:19 debian-usama kernel: [47676.117921] eth0: Setting full-duplex based on MII#1 link partner capability of 45e1.
Sep 6 11:57:26 debian-usama kernel: [47683.512012] eth1: no IPv6 routers present
Sep 6 11:57:27 debian-usama kernel: [47683.780010] eth0: no IPv6 routers present
|
syslog
Sep 6 13:15:01 debian-usama /USR/SBIN/CRON[25895]: (root) CMD (if [ -x /etc/munin/plugins/apt_all ]; then /etc/munin/plugins/apt_all update 7200 12 >/dev/nu
ll; elif [ -x /etc/munin/plugins/apt ]; then /etc/munin/plugins/apt update 7200 12 >/dev/null; fi)
Sep 6 13:15:01 debian-usama /USR/SBIN/CRON[25896]: (munin) CMD (if [ -x /usr/bin/munin-cron ]; then /usr/bin/munin-cron; fi)
Sep 6 13:17:01 debian-usama /USR/SBIN/CRON[26576]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Sep 6 13:18:10 debian-usama dhclient: DHCPREQUEST on eth1 to 10.110.0.30 port 67
Sep 6 13:18:16 debian-usama dhclient: DHCPREQUEST on eth1 to 10.110.0.30 port 67
Sep 6 13:18:30 debian-usama dhclient: DHCPREQUEST on eth1 to 10.110.0.30 port 67
Sep 6 13:18:42 debian-usama dhclient: DHCPREQUEST on eth1 to 10.110.0.30 port 67
Sep 6 13:18:54 debian-usama dhclient: DHCPREQUEST on eth1 to 10.110.0.30 port 67
Sep 6 13:19:15 debian-usama dhclient: DHCPREQUEST on eth1 to 10.110.0.30 port 67
Sep 6 13:19:27 debian-usama dhclient: DHCPREQUEST on eth1 to 10.110.0.30 port 67
Sep 6 13:19:47 debian-usama dhclient: DHCPREQUEST on eth1 to 10.110.0.30 port 67
Sep 6 13:20:01 debian-usama /USR/SBIN/CRON[26581]: (root) CMD (if [ -x /etc/munin/plugins/apt_all ]; then /etc/munin/plugins/apt_all update 7200 12 >/dev/nu
ll; elif [ -x /etc/munin/plugins/apt ]; then /etc/munin/plugins/apt update 7200 12 >/dev/null; fi)
Sep 6 13:20:01 debian-usama /USR/SBIN/CRON[26582]: (munin) CMD (if [ -x /usr/bin/munin-cron ]; then /usr/bin/munin-cron; fi)
Sep 6 13:20:06 debian-usama dhclient: DHCPREQUEST on eth1 to 10.110.0.30 port 67
Sep 6 13:20:27 debian-usama dhclient: DHCPREQUEST on eth1 to 10.110.0.30 port 67
Sep 6 13:20:47 debian-usama dhclient: DHCPREQUEST on eth1 to 10.110.0.30 port 67
Sep 6 13:21:04 debian-usama dhclient: DHCPREQUEST on eth1 to 10.110.0.30 port 67
Sep 6 13:21:14 debian-usama dhclient: DHCPREQUEST on eth1 to 10.110.0.30 port 67
Sep 6 13:21:31 debian-usama dhclient: DHCPREQUEST on eth1 to 10.110.0.30 port 67
Sep 6 13:21:39 debian-usama dhclient: DHCPREQUEST on eth1 to 10.110.0.30 port 67
Sep 6 13:21:47 debian-usama dhclient: DHCPREQUEST on eth1 to 10.110.0.30 port 67
Sep 6 13:22:05 debian-usama dhclient: DHCPREQUEST on eth1 to 10.110.0.30 port 67
Sep 6 13:22:14 debian-usama dhclient: DHCPREQUEST on eth1 to 10.110.0.30 port 67
Sep 6 13:22:25 debian-usama dhclient: DHCPREQUEST on eth1 to 255.255.255.255 port 67
Sep 6 13:22:25 debian-usama dhclient: DHCPACK from 10.115.6.91
Sep 6 13:22:25 debian-usama dhclient: bound to 31.10.72.87 -- renewal in 299 seconds.
Sep 6 13:25:01 debian-usama /USR/SBIN/CRON[27058]: (munin) CMD (if [ -x /usr/bin/munin-cron ]; then /usr/bin/munin-cron; fi)
Sep 6 13:25:01 debian-usama /USR/SBIN/CRON[27059]: (root) CMD (if [ -x /etc/munin/plugins/apt_all ]; then /etc/munin/plugins/apt_all update 7200 12 >/dev/nu
ll; elif [ -x /etc/munin/plugins/apt ]; then /etc/munin/plugins/apt update 7200 12 >/dev/null; fi)
|
messages
Sep 6 11:57:16 debian-usama kernel: [47673.272316] eth1: setting full-duplex.
Sep 6 11:57:19 debian-usama kernel: [47676.117921] eth0: Setting full-duplex based on MII#1 link partner capability of 45e1.
|
debug
Sep 6 00:44:07 debian-usama kernel: [ 7284.385456] 0000:01:00.0: tulip_stop_rxtx() failed (CSR5 0xfc06c012 CSR6 0xff970111)
Sep 6 00:44:10 debian-usama kernel: [ 7287.477887] 0000:01:00.0: tulip_stop_rxtx() failed (CSR5 0xfc664010 CSR6 0xff972113)
Sep 6 00:44:18 debian-usama kernel: [ 7295.104014] eth0: no IPv6 routers present
Sep 6 00:44:18 debian-usama kernel: [ 7295.464014] eth1: no IPv6 routers present
Sep 6 11:57:16 debian-usama kernel: [47673.025458] 0000:01:00.0: tulip_stop_rxtx() failed (CSR5 0xfc06c012 CSR6 0xff970111)
Sep 6 11:57:19 debian-usama kernel: [47676.117905] 0000:01:00.0: tulip_stop_rxtx() failed (CSR5 0xfc664010 CSR6 0xff972113)
Sep 6 11:57:26 debian-usama kernel: [47683.512012] eth1: no IPv6 routers present
Sep 6 11:57:27 debian-usama kernel: [47683.780010] eth0: no IPv6 routers present
|
В общем не знаю каких еще логов прислать, но на FreeBSD такого не было. Debian выбрал из-за того, что на нем корректно работает видео наблюдение.
Застрял кароче я и инет падает зараза.
Помогите что ли мне! Пожалуйста
|
|
|
|
|
|
|
|
Возраст: 36 C нами с 22.01.2006 Репутация: 256.8
|
|
Можно dmesg глянуть?
tulip_stop_rxtx() failed ... это относится к внутренней сетевухе и по идее не связано с проблемой.
Я бы на твоем месте попробовал прописать статикой внешний интерфейс. Хотя бы убедиться что dhcp тут не при чем.
Sep 6 13:22:25 debian-usama dhclient: bound to 31.10.72.87 -- renewal in 299 seconds. |
вот это странно.. это пять минут всего. И если тупит dhcp может рваться соединение каждые 5 минут.
И еще, allow-hotplug eth1 на всякий я бы убрал, иногда вызывает проблемы.
|
|
|
|
|
|
|
|
Возраст: 41 C нами с 19.04.2010 Репутация: 160.4
|
|
Похоже судя по симптомам ваш диагноз - левый DHCP сервер в сети.
|
|
|
|
|
|
|
|
Возраст: 43 C нами с 16.04.2005 Репутация: 122.8
|
|
splav, пробовал отключать allow-hotplug eth1 - не помогло.
Не могу сказать про статику, сразу врубил DHCP, ибо до этого инет раздавал великий и могучий DIR-300
myfreenet, а кстати очень даже может быть. У меня же имеется в на нем же сервер DHCP, только по умолчанию в конфиге нет указания интерфейсов. Сейчас дописал INTERFACES="eth0"; посмотрим как будет себя вести.
Добавлено спустя 38 минут 14 секунд:
Пока не помогло.
А еще вот что происходит при выполнении /etc/init.d/netwirking restart
# /etc/init.d/networking restart
Running /etc/init.d/networking restart is deprecated because it may not enable again some interfaces ... (warning).
Reconfiguring network interfaces...Internet Systems Consortium DHCP Client 4.1.1-P1
Copyright 2004-2010 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Listening on LPF/eth1/00:10:5a:0a:da:e2
Sending on LPF/eth1/00:10:5a:0a:da:e2
Sending on Socket/fallback
DHCPRELEASE on eth1 to 10.110.0.30 port 67
Internet Systems Consortium DHCP Client 4.1.1-P1
Copyright 2004-2010 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Listening on LPF/eth1/00:10:5a:0a:da:e2
Sending on LPF/eth1/00:10:5a:0a:da:e2
Sending on Socket/fallback
DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 7
DHCPOFFER from 10.115.6.91
DHCPREQUEST on eth1 to 255.255.255.255 port 67
DHCPACK from 10.115.6.91
bound to 31.10.72.87 -- renewal in 234 seconds.
done. |
deprecated because it may not enable again some interfaces - странно вообще. Причем если инет отвалился, то после выполнения этой команды он, инет, быстренько поднимается.
Any ideas?
|
|
|
|
|
|
|
|
Возраст: 36 C нами с 22.01.2006 Репутация: 256.8
|
|
Ded_USAMA, освобождается адрес, полученный с dhcp сервера 10.110.0.30, работает все после получения адреса от 10.115.6.91. Вопрос - что за сервер 10.110.0.30?
Можно еще посмотреть на выводы ip addr и ip route в момент, когда инет не работает. 99% что сранные сервер выдает кривой ip или кривой маршрут.
Покажите конфиг своего dhcp на всякий случай.
|
|
|
|
|
|
|
|
Возраст: 41 C нами с 19.04.2010 Репутация: 160.4
|
|
splav, думаю dhcpd своим интерфейсам наврятли ip назначает. Я не знаю не одного способа заставить его сделать это
|
|
|
|
|
|
|
|
Возраст: 36 C нами с 22.01.2006 Репутация: 256.8
|
|
myfreenet, если "хорошо" настроить форвардинг - можно сделать так, чтобы dhcp на одном интерфейсе выдал адрес соседнему интерфейсу своей же машины. Один раз такое видел
|
|
|
|
|
|
|
|
Возраст: 43 C нами с 16.04.2005 Репутация: 122.8
|
|
splav,
Инет не работает:
# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.10.0 * 255.255.255.0 U 0 0 0 eth0
31.10.72.0 * 255.255.252.0 U 0 0 0 eth1
default 31.10.72.1 0.0.0.0 UG 0 0 0 eth1
|
ifconfig
root@debian-usama:~# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0a:48:07:56:d0
inet addr:192.168.10.1 Bcast:192.168.10.255 Mask:255.255.255.0
inet6 addr: fe80::20a:48ff:fe07:56d0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1679 errors:0 dropped:0 overruns:0 frame:0
TX packets:1019 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:361864 (353.3 KiB) TX bytes:631338 (616.5 KiB)
Interrupt:22 Base address:0xc000
eth1 Link encap:Ethernet HWaddr 00:10:5a:0a:da:e2
inet addr:31.10.72.87 Bcast:31.10.75.255 Mask:255.255.252.0
inet6 addr: fe80::210:5aff:fe0a:dae2/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:26249 errors:0 dropped:0 overruns:0 frame:0
TX packets:23678 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2542973 (2.4 MiB) TX bytes:3465317 (3.3 MiB)
Interrupt:16 Base address:0xa000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:22819 errors:0 dropped:0 overruns:0 frame:0
TX packets:22819 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2827314 (2.6 MiB) TX bytes:2827314 (2.6 MiB)
|
При работающем интернете выводы route и ifconfig совпадают. Разница лишь во времени получения вывода команды route, на неработающем интернете route думает где-то секунд 10.
Кстати DHCP отключил и для верности перезапустил сервер. Ситуация не поменялась. Во вложении uptime от munin'a.
|
uptime-day.png - Просмотров: 9
|
|
|
|
|
|
|
Возраст: 41 C нами с 19.04.2010 Репутация: 160.4
|
|
Ded_USAMA писал(а): |
Разница лишь во времени получения вывода команды route, на неработающем интернете route думает где-то секунд 10.
|
Потому что не резолвит адреса через DNS. Наберете при неработающем route -n будет думать так же быстро.
В остальном даже не знаю что и сказать. Могу только вспомнить что когда в бытность студенчества работал по профессии то был случай примерно такой же. Перевели порт на 10мбит всё за работало, а на 100 не хотело.
|
|
|
|
|
|
|
|
Возраст: 43 C нами с 16.04.2005 Репутация: 122.8
|
|
Я пока сменил сетевую карту, жду результатов....
|
|
|
|
|
|
|
|
C нами с 22.02.2007 Репутация: 88.4
|
|
eth1 статический и отваливается? т.е. если пинговать с самого debian'a пинг пропадает?
запустить пинг из домашней локалки на eth0, eth1, шлюз авиела.
маскарадинг поменять на снат
-A POSTROUTING -s 192.168.10.0/24 -o eth1 -j SNAT --to-source xxx.xxx.xxx.xx |
xxx.xxx.xxx.xx - айпи eth1
|
|
|
|
|
|
|
|
Возраст: 36 C нами с 22.01.2006 Репутация: 256.8
|
|
Становится сложнее выбирать вопросы... А при пропавшем инете gateway пингуется?
NAT действительно лучше написать как предложил Garincho.
|
|
|
|
|
|
|
|
Возраст: 43 C нами с 16.04.2005 Репутация: 122.8
|
|
Garincho, eth1 динамический. У меня подключен реальный IP, а он получается по DHCP.
Из домашней сетки eth0 доступен, eth1 судя по всему тоже, ибо после пропадания инета пинг выдал
Ответ от 31.10.72.130: Заданный узел недоступен.
Превышен интервал ожидания для запроса.
Ответ от 31.10.72.130: Заданный узел недоступен. |
Шлюз смогу пропинговать только после очередного падения. Хотя сейчас поменяю маскарадинг на SNAT и посмотрим, что получится.
Добавлено спустя 1 минуту 26 секунд:
Кстати, xxx.xxx.xxx.xx - айпи eth1 - IP же динамический. Не факт, что завтра он сменится на другой. Или чисто для теста сделать?
Добавлено спустя 9 минут 38 секунд:
Проверил, шлюз не пингуется из локалки.
Сейчас буду менять на снат
|
|
|
|
|
|
|
|
Возраст: 36 C нами с 22.01.2006 Репутация: 256.8
|
|
Ded_USAMA, по честному делается так:
# iptables -I FORWARD -i ${LAN} -d 192.168.0.0/255.255.0.0 -j DROP
# iptables -A FORWARD -i ${LAN} -s 192.168.0.0/255.255.0.0 -j ACCEPT
# iptables -A FORWARD -i ${WAN} -d 192.168.0.0/255.255.0.0 -j ACCEPT
# iptables -t nat -A POSTROUTING -o ${WAN} -j MASQUERADE
|
Добавлено спустя 55 секунд:
Из локалки не интересно, интересно с сервера. Может косяк с форвардингом.
Добавлено спустя 4 минуты 5 секунд:
Еще можно попробовать включить net.ipv4.ip_dynaddr = 1
|
|
|
|
|
|
|
|
Возраст: 43 C нами с 16.04.2005 Репутация: 122.8
|
|
Garincho, этот вариант со СНАТом не проканал.
splav, ${WAN} и ${LAN} где описывается? или заменить их на eth0 и eth1?? Я не особо знаком с синтаксисом iptables
|
|
|
|
|
|
|
|