Поднял PPPoE сервер.
НАстроил Advanced routing на Linux (FC 6.0)
Все работает отлично!НО!
Помогите пожалуйста, почему так происходит? или это нормальное явление? Ниже конфиги со всех компах, которые взаимодействуют с данной проблемой.
Делаю ping со своего компа соседу (мы с ним к одному и тому же PPPoE-серверу подключены)
>ping 172.26.20.20
Обмен пакетами с 172.26.20.20 по 32 байт:
Ответ от 172.22.3.155: Превышен срок жизни (TTL) при передаче пакета.
Ответ от 172.22.3.155: Превышен срок жизни (TTL) при передаче пакета.
Ответ от 172.22.3.155: Превышен срок жизни (TTL) при передаче пакета.
Ответ от 172.22.3.155: Превышен срок жизни (TTL) при передаче пакета.Статистика Ping для 172.26.20.20:
Пакетов: отправлено = 4, получено = 4, потеряно = 0 (0% потерь),
Приблизительное время приема-передачи в мс:
Минимальное = 0мсек, Максимальное = 0 мсек, Среднее = 0 мсек
> tracert -d 172.26.20.20Трассировка маршрута к 172.26.20.20 с максимальным числом прыжков 30
1 8 ms 9 ms 8 ms 192.168.100.1
2 9 ms 8 ms 8 ms 172.22.3.155
3 9 ms 8 ms 9 ms 192.168.100.1
4 35 ms 9 ms 8 ms 172.22.3.155
5 10 ms 9 ms 8 ms 192.168.100.1
6 8 ms 8 ms 9 ms 172.22.3.155
прервал...
Типа получается "петля"PPPoE-сервер.
# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:76:AE:B6:ED
inet addr:172.22.3.156 Bcast:172.22.3.159 Mask:255.255.255.224
inet6 addr: fe80::20c:76ff:feae:b6ed/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2934 errors:0 dropped:0 overruns:0 frame:0
TX packets:1991 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:849174 (829.2 KiB) TX bytes:227830 (222.4 KiB)
Interrupt:58 Base address:0x8000eth1 Link encap:Ethernet HWaddr 00:80:48:3D:82:A0
inet addr:10.9.0.20 Bcast:10.9.0.255 Mask:255.255.255.0
inet6 addr: fe80::280:48ff:fe3d:82a0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:24 errors:0 dropped:0 overruns:0 frame:0
TX packets:46 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1440 (1.4 KiB) TX bytes:6796 (6.6 KiB)
Interrupt:50 Base address:0x2000eth2 Link encap:Ethernet HWaddr 00:16:E6:57:6F:D5
inet addr:172.25.3.1 Bcast:172.25.3.255 Mask:255.255.255.0
inet6 addr: fe80::216:e6ff:fe57:6fd5/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2184 errors:0 dropped:0 overruns:0 frame:0
TX packets:1152 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:267574 (261.3 KiB) TX bytes:695901 (679.5 KiB)
Interrupt:209 Base address:0xc000lo 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:1937 errors:0 dropped:0 overruns:0 frame:0
TX packets:1937 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:6374997 (6.0 MiB) TX bytes:6374997 (6.0 MiB)ppp0 Link encap:Point-to-Point Protocol
inet addr:192.168.100.1 P-t-P:172.26.20.21 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1480 Metric:1
RX packets:276 errors:0 dropped:0 overruns:0 frame:0
TX packets:282 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:41634 (40.6 KiB) TX bytes:123238 (120.3 KiB)ppp1 Link encap:Point-to-Point Protocol
inet addr:192.168.100.1 P-t-P:172.26.20.20 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1480 Metric:1
RX packets:702 errors:0 dropped:0 overruns:0 frame:0
TX packets:777 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:84336 (82.3 KiB) TX bytes:541003 (528.3 KiB)# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
172.26.20.20 * 255.255.255.255 UH 0 0 0 ppp1
172.26.20.21 * 255.255.255.255 UH 0 0 0 ppp0
172.22.3.128 * 255.255.255.224 U 0 0 0 eth0
172.22.6.0 172.22.3.144 255.255.255.0 UG 10 0 0 eth0
10.9.0.0 * 255.255.255.0 U 0 0 0 eth1
172.25.3.0 * 255.255.255.0 U 0 0 0 eth2
169.254.0.0 * 255.255.0.0 U 0 0 0 eth2
10.0.0.0 10.9.0.1 255.0.0.0 UG 20 0 0 eth1# ip rule list
0: from all lookup local
32764: from 172.26.20.0/24 lookup Prov_1_NET
32765: from 172.26.30.0/24 lookup Prov_2_NET
32766: from all lookup main
32767: from all lookup default
# ip route list table Prov_1_NETdefault via 172.22.3.155 dev eth0
# ip route list table Prov_2_NETdefault via 172.22.3.150 dev eth0
Сервер Prov_1_NET
>ipconfig /allПодключение по локальной сети - Ethernet адаптер:
DNS-суффикс этого подключения . . :
Описание . . . . . . . . . . . . : Broadcom 440x 10/100 Integrated Controller
Физический адрес. . . . . . . . . : 00-19-B1-01-1A-19
Dhcp включен. . . . . . . . . . . : нет
IP-адрес . . . . . . . . . . . . : 172.22.3.155
Маска подсети . . . . . . . . . . : 255.255.255.224
Основной шлюз . . . . . . . . . . :PPPoE - PPP адаптер:
DNS-суффикс этого подключения . . :
Описание . . . . . . . . . . . . : WAN (PPP/SLIP) Interface
Физический адрес. . . . . . . . . : 00-53-45-00-00-00
Dhcp включен. . . . . . . . . . . : нет
IP-адрес . . . . . . . . . . . . : 172.XXX.XXX.210
Маска подсети . . . . . . . . . . : 255.255.255.255
Основной шлюз . . . . . . . . . . : 172.XXX.XXX.210
DNS-серверы . . . . . . . . . . . : 172.XXX.XXX.1
NetBIOS через TCP/IP. . . . . . . : отключен
> route print....
Сетевой адрес Маска сети Адрес шлюза Интерфейс Метрика
....
....
172.26.20.0 255.255.255.0 172.22.3.156 172.22.3.155 10
....
....
....
мой комп, подключение PPPoE>ipconfig /all
Подключение по локальной сети - Ethernet адаптер:
DNS-суффикс этого подключения . . :
Описание . . . . . . . . . . . . : Broadcom 440x 10/100 Integrated Controller
Физический адрес. . . . . . . . . : 00-19-B9-72-3A-19
Dhcp включен. . . . . . . . . . . : нет
IP-адрес . . . . . . . . . . . . : 172.30.6.150
Маска подсети . . . . . . . . . . : 255.255.255.0
Основной шлюз . . . . . . . . . . :PPPoE - PPP адаптер:
DNS-суффикс этого подключения . . :
Описание . . . . . . . . . . . . : WAN (PPP/SLIP) Interface
Физический адрес. . . . . . . . . : 00-53-45-00-00-00
Dhcp включен. . . . . . . . . . . : нет
IP-адрес . . . . . . . . . . . . : 172.26.20.21
Маска подсети . . . . . . . . . . : 255.255.255.255
Основной шлюз . . . . . . . . . . : 172.26.20.21
DNS-серверы . . . . . . . . . . . : 10.10.10.1
NetBIOS через TCP/IP. . . . . . . : отключенКомп соседа, подключение PPPoE
>ipconfig /all
Подключение по локальной сети - Ethernet адаптер:
DNS-суффикс этого подключения . . :
Описание . . . . . . . . . . . . : Broadcom 440x 10/100 Integrated Controller
Физический адрес. . . . . . . . . : 00-19-B9-54-3B-19
Dhcp включен. . . . . . . . . . . : нет
IP-адрес . . . . . . . . . . . . : 172.30.6.15
Маска подсети . . . . . . . . . . : 255.255.255.0
Основной шлюз . . . . . . . . . . :PPPoE - PPP адаптер:
DNS-суффикс этого подключения . . :
Описание . . . . . . . . . . . . : WAN (PPP/SLIP) Interface
Физический адрес. . . . . . . . . : 00-53-44-05-00-10
Dhcp включен. . . . . . . . . . . : нет
IP-адрес . . . . . . . . . . . . : 172.26.20.20
Маска подсети . . . . . . . . . . : 255.255.255.255
Основной шлюз . . . . . . . . . . : 172.26.20.22
DNS-серверы . . . . . . . . . . . : 10.10.10.1
NetBIOS через TCP/IP. . . . . . . : отключен
># ip rule list
>
>0: from all lookup local
>32764: from 172.26.20.0/24 lookup Prov_1_NET
>32765: from 172.26.30.0/24 lookup Prov_2_NET
>32766: from all lookup main
>32767: from all lookup default
>в вопросе не хватает одного -- чего пытаемся добиться -- если нам нужно чтобы пользователи pppoe могли обшаться между собой то нужно это определить вот сдесь
<< что-то типа
<<ip rule add from 10.0.0.0/8 to 10.0.0.0/8 lookup main
<<в вашем случае ip'шники естественно другие
>32764: from 172.26.20.0/24 lookup Prov_1_NET
>32765: from 172.26.30.0/24 lookup Prov_2_NET
>в вопросе не хватает одного -- чего пытаемся добиться -- если нам
>нужно чтобы пользователи pppoe могли обшаться между собой то нужно этоДА, именно общаться между собой, ну или чтоб петля не возникала.
>определить вот сдесь
><< что-то типа
><<ip rule add from 10.0.0.0/8 to 10.0.0.0/8 lookup main
><<в вашем случае ip'шники естественно другие
>>32764: from 172.26.20.0/24 lookup Prov_1_NET
>>32765: from 172.26.30.0/24 lookup Prov_2_NETпрописал, ситуация не изменилась
# ip rule ls
0: from all lookup local
32763: from 172.26.20.0/24 to 172.26.20.0/24 lookup main
32764: from 172.26.20.0/24 lookup Prov_1_NET
32765: from 172.26.30.0/24 lookup Prov_2_NET
32766: from all lookup main
32767: from all lookup default
ip route flush cacheи traceroute в сдудию
>ip route flush cache
>
>и traceroute в сдудию# ip rule add from 172.26.20.0/24 to 172.26.20.0/24 lookup main
# ip route flush cache
# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
172.26.20.21 * 255.255.255.255 UH 0 0 0 ppp0
172.22.3.128 * 255.255.255.224 U 0 0 0 eth0
172.22.6.0 172.22.3.144 255.255.255.0 UG 10 0 0 eth0
10.9.0.0 * 255.255.255.0 U 0 0 0 eth1
172.25.3.0 * 255.255.255.0 U 0 0 0 eth2
169.254.0.0 * 255.255.0.0 U 0 0 0 eth2
10.0.0.0 10.9.0.1 255.0.0.0 UG 20 0 0 eth1возможно то, что адрес 172.26.20.20 нет, то есть сосед не подключился.
>возможно то, что адрес 172.26.20.20 нет, то есть сосед не подключился.тут я ничем помочь не могу Ж:-)
>tracert -d 172.26.20.20Трассировка маршрута к 172.26.20.20 с максимальным числом прыжков 30
1 10 ms 8 ms 8 ms 192.168.100.1
2 10 ms 11 ms 9 ms 172.22.3.155
3 9 ms 9 ms 9 ms 192.168.100.1
4 8 ms 8 ms 9 ms 172.22.3.155
прервано
ещё раз в студию вывод
ip route
ip rule
ip ad
# ip route
172.26.20.21 dev ppp0 proto kernel scope link src 192.168.100.1
172.22.3.128/27 dev eth0 proto kernel scope link src 172.22.3.156
172.22.6.0/24 via 172.22.3.144 dev eth0 metric 10
10.9.0.0/24 dev eth1 proto kernel scope link src 10.9.0.20
172.25.3.0/24 dev eth2 proto kernel scope link src 172.25.3.1
169.254.0.0/16 dev eth2 scope link
10.0.0.0/8 via 10.9.0.1 dev eth1 metric 20
#
#
# ip rule
0: from all lookup local
32763: from 172.26.20.0/24 to 172.26.20.0/24 lookup main
32764: from 172.26.20.0/24 lookup adslnet
32765: from 172.26.30.0/24 lookup homenet
32766: from all lookup main
32767: from all lookup default
#
#
# ip ad
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:80:48:3d:82:a0 brd ff:ff:ff:ff:ff:ff
inet 10.9.0.20/24 brd 10.9.0.255 scope global eth1
inet6 fe80::280:48ff:fe3d:82a0/64 scope link
valid_lft forever preferred_lft forever
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:0c:76:ae:b6:ed brd ff:ff:ff:ff:ff:ff
inet 172.22.3.156/27 brd 172.22.3.159 scope global eth0
inet6 fe80::20c:76ff:feae:b6ed/64 scope link
valid_lft forever preferred_lft forever
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:16:e6:57:6f:d5 brd ff:ff:ff:ff:ff:ff
inet 172.25.3.1/24 brd 172.25.3.255 scope global eth2
inet6 fe80::216:e6ff:fe57:6fd5/64 scope link
valid_lft forever preferred_lft forever
5: sit0: <NOARP> mtu 1480 qdisc noop
link/sit 0.0.0.0 brd 0.0.0.0
11: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1480 qdisc pfifo_fast qlen 3
link/ppp
inet 192.168.100.1 peer 172.26.20.21/32 scope global ppp0
#
# ip route ls table adslnet
default via 172.22.3.155 dev eth0# ip route ls table homenet
default via 172.22.3.150 dev eth0
>[оверквотинг удален]
>
>172.22.6.0/24 via 172.22.3.144 dev eth0 metric 10
>10.9.0.0/24 dev eth1 proto kernel scope link src 10.9.0.20
>
>172.25.3.0/24 dev eth2 proto kernel scope link src 172.25.3.1
>
>169.254.0.0/16 dev eth2 scope link
>10.0.0.0/8 via 10.9.0.1 dev eth1 metric 20
>#
>#вот сдесь где второй ip'шник с которого пингуем ??? (172.26.20.20 ???)
а если пингуем не с него -- то зачем вообще проверяем -- праверка изначально не верна т.к. правило "32763: from 172.26.20.0/24 to 172.26.20.0/24 lookup main " не будет работать>[оверквотинг удален]
> link/ether 00:16:e6:57:6f:d5 brd ff:ff:ff:ff:ff:ff
> inet 172.25.3.1/24 brd 172.25.3.255 scope global eth2
> inet6 fe80::216:e6ff:fe57:6fd5/64 scope link
> valid_lft forever preferred_lft forever
>5: sit0: <NOARP> mtu 1480 qdisc noop
> link/sit 0.0.0.0 brd 0.0.0.0
>11: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1480 qdisc pfifo_fast qlen 3
> link/ppp
> inet 192.168.100.1 peer 172.26.20.21/32 scope global ppp0
>#
>[оверквотинг удален]
>>169.254.0.0/16 dev eth2 scope link
>>10.0.0.0/8 via 10.9.0.1 dev eth1 metric 20
>>#
>>#
>
>вот сдесь где второй ip'шник с которого пингуем ??? (172.26.20.20 ???)
>а если пингуем не с него -- то зачем вообще проверяем --
>праверка изначально не верна т.к. правило "32763: from 172.26.20.0/24 to
>172.26.20.0/24 lookup main " не будет работать
>Не совсем понял, где именно? и какой ip'шник.
>вот сдесь где второй ip'шник с которого пингуем ??? (172.26.20.20 ???)Я пингую ip 172.26.20.20 с адреса 172.26.20.21
короче нужно возвратиться к постановки задачи
"хотим чтобы между пользователями pppoe ходил трафик"
получили предложение (от меня) прописать "ip rule add from 172.26.20.0/24 to 172.26.20.0/24 lookup main" -- прописали
осталось проверить (что выполнено не верно)
решение =
первый подключается и получает ip из диапазона 172.26.20.0/24
второй подключается и получает ip из диапазона 172.26.20.0/24пингуем с первого на второго если пинги не идут смотрим trace'ом
>короче нужно возвратиться к постановки задачи
>"хотим чтобы между пользователями pppoe ходил трафик"
>получили предложение (от меня) прописать "ip rule add from 172.26.20.0/24 to 172.26.20.0/24
>lookup main" -- прописали
>осталось проверить (что выполнено не верно)
>решение =
>первый подключается и получает ip из диапазона 172.26.20.0/24
>второй подключается и получает ip из диапазона 172.26.20.0/24
>
>пингуем с первого на второго если пинги не идут смотрим trace'омВсе, да, идут, теперь вопрос, почему адрес 172.26.20.20 не подключен, возникает петля на этот адрес.
ЩАс подключен клиент с адрсом 172.26.20.23, я пингую его, ответ нормальный, то есть
Обмен пакетами с 172.26.20.23 по 32 байт:
Ответ от 172.26.20.23: число байт=32 время=52мс TTL=127
Ответ от 172.26.20.23: число байт=32 время=52мс TTL=127
Ответ от 172.26.20.23: число байт=32 время=52мс TTL=127
Ответ от 172.26.20.23: число байт=32 время=51мс TTL=127Статистика Ping для 172.26.20.23:
Пакетов: отправлено = 4, получено = 4, потеряно = 0 (0% потерь),
Приблизительное время приема-передачи в мс:
Минимальное = 51мсек, Максимальное = 52 мсек, Среднее = 51 мсекОбмен пакетами с 172.26.20.20 по 32 байт:
Ответ от 172.22.3.155: Превышен срок жизни (TTL) при передаче пакета.
Ответ от 172.22.3.155: Превышен срок жизни (TTL) при передаче пакета.
Ответ от 172.22.3.155: Превышен срок жизни (TTL) при передаче пакета.
Ответ от 172.22.3.155: Превышен срок жизни (TTL) при передаче пакета.Статистика Ping для 172.26.20.20:
Пакетов: отправлено = 4, получено = 4, потеряно = 0 (0% потерь),
Приблизительное время приема-передачи в мс:
Минимальное = 0мсек, Максимальное = 0 мсек, Среднее = 0 мсекТрассировка маршрута к 172.26.20.23 с максимальным числом прыжков 30
1 22 ms 41 ms 41 ms 192.168.100.1
2 81 ms 83 ms 86 ms 172.26.20.23
Трассировка завершена.Трассировка маршрута к 172.26.20.20 с максимальным числом прыжков 30
1 41 ms 9 ms 8 ms 192.168.100.1
2 9 ms 8 ms 8 ms 172.22.3.155
3 13 ms 9 ms 9 ms 192.168.100.1
4 9 ms 9 ms 8 ms 172.22.3.155
5 9 ms 9 ms 10 ms 192.168.100.1
прервано
если при отключеном адресате не должно возникать петли -- то нужно добавить ещё одно правило которое будет drop'ить в таблицу main
там всё просто
>если при отключеном адресате не должно возникать петли -- то нужно добавить
>ещё одно правило которое будет drop'ить в таблицу main
>там всё простоПодскажи как :)
>если при отключеном адресате не должно возникать петли -- то нужно добавить
>ещё одно правило которое будет drop'ить в таблицу main
>там всё простогм, клиент с ip 172.26.20.20 подключился? пингуется, щас попробовал пингануть 172.26.20.25 ответ
ping 172.26.20.25
Обмен пакетами с 172.26.20.25 по 32 байт:
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.Так что у мен было и творится?
перечитал все ваши посты
не полнял причёv здесь правило
<ip rule add from 10.0.0.0/8 to 10.0.0.0/8 lookup main
сам подключаю клиентов по РРРОЕ, общаются прекрасно без этогоvistaru
покажи вывод
iptables -L FORWARD -vn
>перечитал все ваши посты
>не полнял причёv здесь правило
><ip rule add from 10.0.0.0/8 to 10.0.0.0/8 lookup main
>сам подключаю клиентов по РРРОЕ, общаются прекрасно без этого
>
>vistaru
>покажи вывод
>iptables -L FORWARD -vnpkts bytes target prot opt in out source destination
472K 115M RH-Firewall-1-FORWARD all -- * * 0.0.0.0/0 0.0.0.0/0
>не полнял причёv здесь правило
><ip rule add from 10.0.0.0/8 to 10.0.0.0/8 lookup main
>сам подключаю клиентов по РРРОЕ, общаются прекрасно без этогоНо это правило помогло мне, типа пиговался сосед нормально.
Но проблем осталась, если этот сосед отключен, то опять "петля", а если я пингую вообще новый IP, то есть тот который вообще не использовался, то это IP не доступен, но как токо он 1 раз попользуется, и потом отключится, то опять "петля".
прописал в iptables правило на запрет, все работает (то есть не пингуется),а вот как мне сделать в iptables, так, чтобы разрешить пинги и при этом не возникало петли если "сосед" отключен?
Вам не нужно строить никаких петель, если всем клиентам раздаёться IP и netmask одной подсети, просто нужно добавить правило вида iptables -I FORWARD -j ACCEPT -i ppp+ -o ppp+
При этом тот адрес который выдаёться шлюзом для РРРоЕ клиентов должен существовать физичаски на сервере (можно виртуальным интерфейсом) и на него всё должно быть разрешено.
В основную таблицу роута не вносите никаких петель, сами же в них запутаетесь.
При необходимости, можно, создать цепочку в iptables`е для "петли" клиентов РРРоЕ. если используете ррр интерфейсы для внешних или частных сетей.