Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Проблема с NAT  (Прочитано 3738 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Modernox

  • Автор темы
  • Новичок
  • *
  • Сообщений: 18
    • Просмотр профиля
Новая проблема
« Ответ #15 : 23 Декабря 2010, 23:44:44 »
Возникла новая проблема, возникла уже давно, но я никак не мог понять в какой области искать причину, сегодня кажется определил.
Система осталась прежняя (лишь обновил до 10.10). Только теперь весь трафик идёт через squid, через nat только ICMP пакеты.
Ситуация такова: после старта сервера клиенты успешно получают свой интернет, так может продолжаться час/два/весь день, но в один прекрасный момент сервер перестаёт отвечать на все запросы (dhcp,dns,proxy,ping,samba) со стороны локальной сети. Шустро добегаю до сервера и вижу - инет на нём работает, все службы тоже, ifconfig показывает нормальное функционирование как интернета (ppp0), так и локальной сети eth1.
В таких случаях я перезапускал сеть и/или сам сервер, после загрузки всё работало в штатном режиме, инет раздавался. Грешил на dhcp...
Сегодня попробовал сделать так: ifconfig eth1 down и сразу ifconfig eth1 up, всё заработало.

Подскажите, пожалуйста, какова может быть причина такого странного поведения? Какие логи нужно смотреть? Какими способами можно выявить причину?

Пользователь решил продолжить мысль 24 Декабря 2010, 21:41:50:
Всё ещё нужна помощь...

Пользователь решил продолжить мысль 25 Декабря 2010, 13:40:00:
Может проще переустановить всю систему?
« Последнее редактирование: 25 Декабря 2010, 13:40:00 от Modernox »

Оффлайн Modernox

  • Автор темы
  • Новичок
  • *
  • Сообщений: 18
    • Просмотр профиля
Re: Проблема с NAT
« Ответ #16 : 27 Декабря 2010, 00:50:31 »
up

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: Проблема с NAT
« Ответ #17 : 27 Декабря 2010, 10:36:55 »
Пока телепаты готовятся к НГ, давай-ка посмотрим, что происходит в тот "прекрасный момент" с системой
cat /etc/network/interfaces
ifconfig -a
route -n
cat /etc/resolv.conf
sudo iptables-save
и с любого клиента в эту же волшебную минуту
ifconfig -a
route -n

Оффлайн Modernox

  • Автор темы
  • Новичок
  • *
  • Сообщений: 18
    • Просмотр профиля
Re: Проблема с NAT
« Ответ #18 : 27 Декабря 2010, 17:54:48 »
Пока телепаты готовятся к НГ, давай-ка посмотрим, что происходит в тот "прекрасный момент" с системой
cat /etc/network/interfaces
ifconfig -a
route -n
cat /etc/resolv.conf
sudo iptables-save
и с любого клиента в эту же волшебную минуту
ifconfig -a
route -n

Хорошо, с нетерпением буду ждать этого косяка... Как только, так сразу выложу результаты.

Пользователь решил продолжить мысль 29 Декабря 2010, 17:06:26:
И вот, наконец-то... Через 30 минут работы сервера настал момент X.

route -n
172.16.1.187    172.16.63.1     255.255.255.255 UGH   0      0        0 eth0
172.17.0.1      0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
172.16.0.0      172.16.63.1     255.255.224.0   UG    0      0        0 eth0
172.16.32.0     0.0.0.0         255.255.224.0   U     0      0        0 eth0
0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 ppp0

cat /etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 172.16.42.130
netmask 255.255.224.0
gateway 172.16.63.1
up route add -net 172.16.0.0 netmask 255.255.224.0 gw 172.16.63.1

auto eth1
iface eth1 inet static
address 192.168.0.1
netmask 255.255.255.0

post-up /etc/network/vpn
post-up /etc/network/nat

cat /etc/network/vpn
#!/bin/sh

pon vpns

cat /etc/network/nat
#!/bin/sh

# Очищаем таблицы
iptables -t filter -F
iptables -t nat -F
iptables -t mangle -F

# Включаем форвардинг пакетов
echo 1 > /proc/sys/net/ipv4/ip_forward

# Запрещаем все входящие пакеты
iptables -P INPUT DROP
# Запрещаем все проходящие пакеты
iptables -P FORWARD DROP
# Разрешаем все исходящие пакеты
iptables -P OUTPUT ACCEPT

# Разрешаем все соединения из lo
iptables -A INPUT -i lo -j ACCEPT
# Разрешаем входящие установленные сосединения из ppp0
iptables -A INPUT -i ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT
# Разрешаем входящие установленные сосединения из eth0
iptables -A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
# Разрешаем входящие установленные и новые сосединения из eth1
iptables -A INPUT -i eth1 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT

# Разрешаем прохождение транзитных пакетов ICMP из школьной сети наружу и обратно
iptables -A FORWARD -i eth1 -o ppp0 -p ICMP -j ACCEPT
iptables -A FORWARD -i ppp0 -o eth1 -p ICMP -j ACCEPT

# Разрешаем nat для ICMP
iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.0.0/24 -p ICMP -j MASQUERADE

# Перенаправляем пакеты с 80 порта на прокси 3128
iptables -t nat -A PREROUTING -i eth1 -d ! 192.168.0.0/24 -p tcp -m multiport --dport 80 -j DNAT --to 192.168.0.1:3128

# Корректировка разности MTU у eth1 и ppp0
iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

ifconfig eth1 down
sleep 5
ifconfig eth1 up

ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:22:15:d6:72:9d 
          inet addr:172.16.42.130  Bcast:172.16.63.255  Mask:255.255.224.0
          inet6 addr: fe80::222:15ff:fed6:729d/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:70714 errors:0 dropped:0 overruns:0 frame:0
          TX packets:45654 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:40383420 (40.3 MB)  TX bytes:7096899 (7.0 MB)
          Interrupt:19 Base address:0xd000

eth1      Link encap:Ethernet  HWaddr 00:1d:60:5c:9e:92 
          inet addr:192.168.0.1  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::21d:60ff:fe5c:9e92/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:50097 errors:0 dropped:0 overruns:0 frame:0
          TX packets:53292 errors:4 dropped:0 overruns:4 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:6948776 (6.9 MB)  TX bytes:44459455 (44.4 MB)
          Interrupt:18

lo        Link encap:Локальная петля (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:12535 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12535 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1645275 (1.6 MB)  TX bytes:1645275 (1.6 MB)

ppp0      Link encap:Протокол PPP (Point-to-Point Protocol) 
          inet addr:172.17.42.130  P-t-P:172.17.0.1  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1436  Metric:1
          RX packets:36407 errors:0 dropped:0 overruns:0 frame:0
          TX packets:29338 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:36328558 (36.3 MB)  TX bytes:4590174 (4.5 MB)

cat /etc/resolv.conf
nameserver 81.176.72.82 # Первичный DNS сервер контент-фильтра
nameserver 81.176.72.83 # Вторичный DNS сервер контент-фильтра
nameserver 172.16.1.186 # DNS сервер провайдера

iptables-save
# Generated by iptables-save v1.4.4 on Wed Dec 29 13:24:10 2010
*mangle
:PREROUTING ACCEPT [133350:81918101]
:INPUT ACCEPT [127898:81613374]
:FORWARD ACCEPT [4742:225174]
:OUTPUT ACCEPT [138492:56170679]
:POSTROUTING ACCEPT [139060:56280746]
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
COMMIT
# Completed on Wed Dec 29 13:24:10 2010
# Generated by iptables-save v1.4.4 on Wed Dec 29 13:24:10 2010
*nat
:PREROUTING ACCEPT [9404:591595]
:OUTPUT ACCEPT [4466:317420]
:POSTROUTING ACCEPT [4466:317420]
-A PREROUTING ! -d 192.168.0.0/24 -i eth1 -p tcp -m multiport --dports 80 -j DNAT --to-destination 192.168.0.1:3128
-A POSTROUTING -s 192.168.0.0/24 -o ppp0 -p icmp -j MASQUERADE
COMMIT
# Completed on Wed Dec 29 13:24:10 2010
# Generated by iptables-save v1.4.4 on Wed Dec 29 13:24:10 2010
*filter
:INPUT DROP [1291:98407]
:FORWARD DROP [4742:225174]
:OUTPUT ACCEPT [138492:56170679]
-A INPUT -i lo -j ACCEPT
-A INPUT -i ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth1 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth1 -o ppp0 -p icmp -j ACCEPT
-A FORWARD -i ppp0 -o eth1 -p icmp -j ACCEPT
COMMIT
# Completed on Wed Dec 29 13:24:10 2010

Пользователь решил продолжить мысль 29 Декабря 2010, 17:20:21:
В syslog не нашёл ничего интересного, кроме dhcp записей, вида:
Dec 29 13:17:06 server dnsmasq-dhcp[1122]: 46444844 available DHCP range: 192.168.0.10 -- 192.168.0.200
Dec 29 13:17:06 server dnsmasq-dhcp[1122]: 46444844 client provides name: ubuntu
Dec 29 13:17:06 server dnsmasq-dhcp[1122]: 46444844 DHCPDISCOVER(eth1) 00:15:58:21:5f:10
Dec 29 13:17:06 server dnsmasq-dhcp[1122]: 46444844 DHCPOFFER(eth1) 192.168.0.25 00:15:58:21:5f:10
Dec 29 13:17:06 server dnsmasq-dhcp[1122]: 46444844 requested options: 1:netmask, 28:broadcast, 2:time-offset, 3:router,
Dec 29 13:17:06 server dnsmasq-dhcp[1122]: 46444844 requested options: 15:domain-name, 6:dns-server, 119:domain-search,
Dec 29 13:17:06 server dnsmasq-dhcp[1122]: 46444844 requested options: 12:hostname, 44:netbios-ns, 47:netbios-scope,
Dec 29 13:17:06 server dnsmasq-dhcp[1122]: 46444844 requested options: 26:mtu, 121:classless-static-route, 42:ntp-server
Dec 29 13:17:06 server dnsmasq-dhcp[1122]: 46444844 tags: eth1
Dec 29 13:17:06 server dnsmasq-dhcp[1122]: 46444844 next server: 192.168.0.1
Dec 29 13:17:06 server dnsmasq-dhcp[1122]: 46444844 sent size:  1 option: 53:message-type  02
Dec 29 13:17:06 server dnsmasq-dhcp[1122]: 46444844 sent size:  4 option: 54:server-identifier  192.168.0.1
Dec 29 13:17:06 server dnsmasq-dhcp[1122]: 46444844 sent size:  4 option: 51:lease-time  00:ed:4e:00
Dec 29 13:17:06 server dnsmasq-dhcp[1122]: 46444844 sent size:  4 option: 58:T1  00:76:a7:00
Dec 29 13:17:06 server dnsmasq-dhcp[1122]: 46444844 sent size:  4 option: 59:T2  00:cf:a4:40
Dec 29 13:17:06 server dnsmasq-dhcp[1122]: 46444844 sent size:  4 option: 28:broadcast  192.168.0.255
Dec 29 13:17:06 server dnsmasq-dhcp[1122]: 46444844 sent size:  4 option:  6:dns-server  192.168.0.1
Dec 29 13:17:06 server dnsmasq-dhcp[1122]: 46444844 sent size:  6 option: 15:domain-name  school
Dec 29 13:17:06 server dnsmasq-dhcp[1122]: 46444844 sent size:  4 option: 44:netbios-ns  192.168.0.1
Dec 29 13:17:06 server dnsmasq-dhcp[1122]: 46444844 sent size:  4 option: 42:ntp-server  192.168.0.1
Dec 29 13:17:06 server dnsmasq-dhcp[1122]: 46444844 sent size:  4 option:  3:router  192.168.0.1
Dec 29 13:17:06 server dnsmasq-dhcp[1122]: 46444844 sent size:  4 option:  2:time-offset  00:ed:4e:00
Dec 29 13:17:06 server dnsmasq-dhcp[1122]: 46444844 sent size:  4 option:  1:netmask  255.255.255.0

Пробовал задать статический IP на клиенте, всё так же, ping до 192.168.0.1 не проходит. Удалял полностью все маршруты, очищал iptables, включал/выключал eth0 и ppp0, перезагружал dhcp, выключал/включал питание свитча (между eth1 и клиентом), вынимал/втыкал провод с сетевую карту (eth1), на клиентском ПК заходил по Windows и под Linux. Не помогло... :(

Где-то давно читал историю о том, что на компьютерах windows в целях экономии энергии при бездействие сети может переводить сетевые карты в режим "сна" и после установки linux на такие компьютеры сетевые карты продолжают "засыпать"/глючить во время полноценной работы. Может это как-то связано и с моей проблемой?

Прошу помощи в поиске решения проблемы!  :)

Пользователь решил продолжить мысль 29 Декабря 2010, 17:24:30:
Да, и ещё - интернет успешно стал добираться до клиентов только после /etc/init.d/networking restart
Думаю, если бы я не шаманил, то хватило бы ifconfig eth1 down / up (как в прошлый раз)
« Последнее редактирование: 29 Декабря 2010, 17:24:30 от Modernox »

Оффлайн Modernox

  • Автор темы
  • Новичок
  • *
  • Сообщений: 18
    • Просмотр профиля
Re: Проблема с NAT
« Ответ #19 : 30 Декабря 2010, 23:47:14 »
up

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: Проблема с NAT
« Ответ #20 : 31 Декабря 2010, 08:37:42 »
А пинги на 192.168.0.1  и не пойдут - они не разрешены.
Данные с клиентской машины не выложил.
А со стороны шлюза к клиентам пинги ходят (естественно, с учётом состояния файерволла)?
И вообще странно.... разрешения на доступ к порту 3128 я тоже в правилах не вижу.
« Последнее редактирование: 31 Декабря 2010, 08:40:15 от fisher74 »

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Проблема с NAT
« Ответ #21 : 31 Декабря 2010, 09:22:06 »
И вообще странно...
Да не, тут у него так это решено:
iptables -A INPUT -i eth1 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT

TX packets:53292 errors:4 dropped:0 overruns:4 carrier:0
Как проблемы начинаются счётчик ошибок растёт?

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: Проблема с NAT
« Ответ #22 : 31 Декабря 2010, 09:39:22 »
"state NEW" прохлопал. Снимаю шляпу.

Оффлайн roma333

  • Участник
  • *
  • Сообщений: 206
    • Просмотр профиля
Re: Проблема с NAT
« Ответ #23 : 31 Декабря 2010, 11:16:24 »
Еще интересно, что переполняется очередь для исходящих пакетов (overruns)
overruns:4 carrier:0

А на серваке интернет есть, пинг проходит на тот же яндекс, к примеру?
« Последнее редактирование: 31 Декабря 2010, 12:14:58 от roma333 »

Оффлайн Modernox

  • Автор темы
  • Новичок
  • *
  • Сообщений: 18
    • Просмотр профиля
Re: Проблема с NAT
« Ответ #24 : 31 Декабря 2010, 13:51:30 »
А пинги на 192.168.0.1  и не пойдут - они не разрешены.
Данные с клиентской машины не выложил.
А со стороны шлюза к клиентам пинги ходят (естественно, с учётом состояния файерволла)?
И вообще странно.... разрешения на доступ к порту 3128 я тоже в правилах не вижу.

На клиентских ПК настройки не меняются. Первый Windows XP с dhcp, второй Windows XP со статическим ip 192.168.0.111, маска 255.255.255.0, третий ALT Linux с dhcp, все маршруты по умолчанию. Ещё раз повторю - стоит выключить/включить eth1 на сервере как пинг и интернет появляется на всех клиентских ПК.

Так зациклился на этой проблеме, если честно, что не допёр пропинговать клиентов с сервера... В следующий раз первым делом сделаю!

Как проблемы начинаются счётчик ошибок растёт?

Не обратил внимания, но ifconfig -a сделан примерно через час после того как возникла эта проблема.

А на серваке интернет есть, пинг проходит на тот же яндекс, к примеру?

На сервере интернет есть, пинг до яндекса ходит.
А то, что переполняется очередь исходящих пакетов о чём говорит? Как можно определить из-за чего?

Пользователь решил продолжить мысль 31 Декабря 2010, 13:55:18:
И ещё - может временно создать скрипт, который будет автоматически перезагружать eth1? Вот только как это сделать?
После НГ попробую воткнуть другую сетевую карту, может что изменится...
« Последнее редактирование: 31 Декабря 2010, 13:55:18 от Modernox »

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Проблема с NAT
« Ответ #25 : 31 Декабря 2010, 13:55:18 »
А то, что переполняется очередь исходящих пакетов о чём говорит? Как можно определить из-за чего?
На правах бреда: карта засыпает...

Оффлайн Modernox

  • Автор темы
  • Новичок
  • *
  • Сообщений: 18
    • Просмотр профиля
Re: Проблема с NAT
« Ответ #26 : 31 Декабря 2010, 13:58:07 »
А то, что переполняется очередь исходящих пакетов о чём говорит? Как можно определить из-за чего?
На правах бреда: карта засыпает...

Может история с выключением сетевой карты после винды не просто выдумка? Тем более что до линукса на сервере стояла именно Windows 2003...

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Проблема с NAT
« Ответ #27 : 31 Декабря 2010, 14:09:11 »
Может история с выключением сетевой карты после винды не просто выдумка?
Нет, не выдумка. Только в основном была проблема была в том, что карту венда гасит при выключении, а ubuntu её не пробуждает при старте... Но у тебя немного не так.

Оффлайн roma333

  • Участник
  • *
  • Сообщений: 206
    • Просмотр профиля
Re: Проблема с NAT
« Ответ #28 : 31 Декабря 2010, 15:45:42 »
У меня на старенькой машине была такая история. Там все решилось перестановкой карты в другой PCI слот. Кстати, почему у этой карты адрес прерывания не отображается?
eth1 - Interrupt:18
eth0 - Interrupt:19 Base address:0xd000

Оффлайн Modernox

  • Автор темы
  • Новичок
  • *
  • Сообщений: 18
    • Просмотр профиля
Re: Проблема с NAT
« Ответ #29 : 31 Декабря 2010, 16:14:38 »
Я на всякий случай, сделал ещё такой снимок:
*-network:0             
       description: Ethernet interface
       product: IC Plus IP100A Integrated 10/100 Ethernet MAC + PHY
       vendor: Sundance Technology Inc / IC Plus Corp
       physical id: 1
       bus info: pci@0000:04:01.0
       logical name: eth0
       version: 31
       serial: 00:22:15:d6:72:9d
       size: 10MB/s
       capacity: 100MB/s
       width: 32 bits
       clock: 33MHz
       capabilities: pm bus_master cap_list rom ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=sundance driverversion=1.2 duplex=half ip=172.16.42.130 latency=64 link=no maxlatency=10 mingnt=10 multicast=yes port=MII speed=10MB/s
       resources: irq:19 ioport:d000(size=128) memory:fa000000-fa0001ff memory:80500000-8050ffff
*-network:1
       description: Ethernet interface
       product: IP1000 Family Gigabit Ethernet
       vendor: Sundance Technology Inc / IC Plus Corp
       physical id: 2
       bus info: pci@0000:04:02.0
       logical name: eth1
       version: 41
       serial: 00:1d:60:5c:9e:92
       size: 100MB/s
       capacity: 100MB/s
       width: 32 bits
       clock: 66MHz
       capabilities: pm bus_master cap_list rom ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=Sundance Technology IPG Triple-Speed Ethernet duplex=full ip=192.168.0.1 latency=64 maxlatency=10 mingnt=80 multicast=yes port=MII speed=100MB/s
       resources: irq:18 ioport:d100(size=256) memory:fa001000-fa0010ff memory:80510000-8051ffff

Значит буду менять/переставлять сетевую карту. Как будут результаты - сообщу!

 

Страница сгенерирована за 0.078 секунд. Запросов: 25.