Ребят нужна помощь перерыл море доки, но всеравно ничего не выходит, уж не знаю че делать.
Суть проблемы выпустить локалку в инет через PPPOE соединение, используя iptabels как proxy.
eth0 - сетевая для pppoe
eth1 - сетевая, которая смотрит во внутреннею сеть.
Модули:modprobe e1000
modprobe e100
modprobe ppp_generic
modprobe ppp_async
modprobe ppp_synctty
modprobe pppoe
modprobe iptable_filter
modprobe iptable_nat
modprobe ipt_MASQUERADEifconfig:
eth0 Link encap:Ethernet HWaddr 00:04:23:47:2E:8B
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:69 errors:0 dropped:0 overruns:0 frame:0
TX packets:33 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:5076 (4.9 Kb) TX bytes:2192 (2.1 Kb)
Base address:0x7000 Memory:f0200000-f0220000eth1 Link encap:Ethernet HWaddr 00:04:23:47:2E:8C
inet addr:172.168.0.1 Bcast:172.168.255.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:5 Base address:0x8840 Memory:f0321000-f0321038lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)ppp0 Link encap:Point-to-Point Protocol
inet addr:85.21.145.99 P-t-P:10.20.253.222 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1452 Metric:1
RX packets:4 errors:0 dropped:0 overruns:0 frame:0
TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:120 (120.0 b) TX bytes:155 (155.0 b)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)ppp0 Link encap:Point-to-Point Protocol
inet addr:85.21.145.145 P-t-P:10.20.253.222 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1452 Metric:1
RX packets:4 errors:0 dropped:0 overruns:0 frame:0
TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:120 (120.0 b) TX bytes:155 (155.0 b)
route -n:Destination Gateway Genmask Flags Metric Ref Use Iface
10.20.253.222 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
172.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 10.20.253.222 0.0.0.0 UG 0 0 0 ppp0iptables:
iptables -F
iptables -t nat -Fiptables -A INPUT -p all -j ACCEPT
iptables -A FORWARD -p all -j ACCEPT
iptables -A OUTPUT -p all -j ACCEPTiptables -t nat -A POSTROUTING -p all -s 172.168.0.0/24 -o ppp0 -j SNAT --to-source 85.21.145.145
или
iptables -t nat -A POSTROUTING -p all -s 172.168.0.0/24 -o ppp0 -j MASQUERADE
Включаю forward'инг
echo 1 > /proc/net/ipv4/ip_forwardПосле этого всеравно ничего не происходит, т.е даже про пинговать хост в инете невозможно((
Подскажите плиз в чем грабли ?
>[оверквотинг удален]
> 0 ppp0
>
>iptables:
>
> iptables -F
> iptables -t nat -F
>
> iptables -A INPUT -p all -j ACCEPT
> iptables -A FORWARD -p all -j ACCEPT
> iptables -A OUTPUT -p all -j ACCEPTлучше покажи вывод команды
iptables -L -vn
ну и
iptables -t nat -L -vn>
> iptables -t nat -A POSTROUTING -p all -s 172.168.0.0/24 -o ppp0
>-j SNAT --to-source 85.21.145.145
>
> или
>
> iptables -t nat -A POSTROUTING -p all -s 172.168.0.0/24 -o ppp0
>-j MASQUERADEмсходя из того, что два раза показан ррр0 с разными ИПами предполагаю отсутствие постоянного ИП, т.е. при каждом новом соединении - новый ИП , поэтому предпочтительней MASQUERADE
/sbin/iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
а кого пускать или нет определять в цепочке FORWARD>
>Включаю forward'инг
> echo 1 > /proc/net/ipv4/ip_forwardне знаю под какой ОСью работает шлюз, включение форвардинганаходиться по другому адресу
и пожалуста именно вывод следующей команды в студию
cat /proc/sys/net/ipv4/ip_forward>
>После этого всеравно ничего не происходит, т.е даже про пинговать хост в
>инете невозможно((
>
>Подскажите плиз в чем грабли ?сам шлюз в инет ходить может?
>>[оверквотинг удален]Ось Slackware 10.2 + ядро 2.4.34.
>лучше покажи вывод команды
>iptables -L -vniptables -L -vn
Chain INPUT (policy ACCEPT 12 packets, 1568 bytes)
pkts bytes target prot opt in out source destination
102 103K LOG icmp -- * * 0.0.0.0/0 0.0.0.0/0 LOG flags 0 level 4
102 103K ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 LOG icmp -- * * 0.0.0.0/0 0.0.0.0/0 LOG flags 0 level 4
0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0Chain OUTPUT (policy ACCEPT 4 packets, 245 bytes)
pkts bytes target prot opt in out source destination
105 103K LOG icmp -- * * 0.0.0.0/0 0.0.0.0/0 LOG flags 0 level 4
105 103K ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0
>ну и
>iptables -t nat -L -vniptables -t nat -L -vn
Chain PREROUTING (policy ACCEPT 108 packets, 104K bytes)
pkts bytes target prot opt in out source destinationChain POSTROUTING (policy ACCEPT 3 packets, 218 bytes)
pkts bytes target prot opt in out source destination
2 168 SNAT icmp -- * ppp0 172.168.0.0/24 0.0.0.0/0 to:85.21.145.99Chain OUTPUT (policy ACCEPT 5 packets, 386 bytes)
pkts bytes target prot opt in out source destination
>мсходя из того, что два раза показан ррр0 с разными ИПами предполагаю
>отсутствие постоянного ИП, т.е. при каждом новом соединении - новый ИП
>, поэтому предпочтительней MASQUERADE
>/sbin/iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
>а кого пускать или нет определять в цепочке FORWARDНет Ip постоянный (85.21.145.99) это я ожибся))
Вывод sysctl net.ipv4.ip_forward:
net.ipv4.ip_forward =1Да инет есть на шлюзе спокой гуляю Links'om))
Только вот в локалке никто погулять не может))
мдя походу прийдется самому культяпится...
>[оверквотинг удален]
>Chain PREROUTING (policy ACCEPT 108 packets, 104K bytes)
> pkts bytes target prot opt in
> out source
>
> destination
>
>Chain POSTROUTING (policy ACCEPT 3 packets, 218 bytes)
> pkts bytes target prot opt in out source destination
> 2 168 SNAT icmp -- * ppp0 172.168.0.0/24 0.0.0.0/0 to:85.21.145.99
>NAT прописан только для icmp пакетов, убери эту опцию, да и фильтрацию убери она здесь ни к чему
iptables -t nat -I POSTROUTING -o ppp0 -j SNAT --to-source 85.21.145.99>Вывод sysctl net.ipv4.ip_forward:
>net.ipv4.ip_forward =1
>sysctl работает при загрузке системы далее эта опция может менятся, поэтому проверяй вывод команды cat /proc/sys/net/ipv4/ip_forward
Слава яйцам ты не ушел))
Дык я включил только icmp, чтоб пингом проверять доступность инета из локалки, т.е ping rambler.ru c машины вхоядщую во внутреннию сетку (172.168.0.0).НО к сожалению даж пингов не идет ((
Слушай в чем может быть проблема?
Еще очень странная тема когда пингую внешню сеть вот так:
ping -I 172.168.0.1 www.ya.ru - пинг идет, а когда пингую уже от внутреннего интерфейса (ping -I eth1 www.ya.ru) или c win машины адресом 172.168.0.2 кго нет(
Че за хрень?
>Слава яйцам ты не ушел))
>Дык я включил только icmp, чтоб пингом проверять доступность инета из локалки,
>т.е ping rambler.ru c машины вхоядщую во внутреннию сетку (172.168.0.0).
>
>НО к сожалению даж пингов не идет ((
>
>
>Слушай в чем может быть проблема?когда у меня возникают пробдемы подобного рода я максимально разрешаю всё, добиваюсь работоспособности, потом делаю фильтрацию
таблица НАТ используется для трансляции адресов и делать в ней фильтрацию не рекомендуется>Еще очень странная тема когда пингую внешню сеть вот так:
>ping -I 172.168.0.1 www.ya.ru - пинг идет, а когда пингую уже от
>внутреннего интерфейса (ping -I eth1 www.ya.ru) или c win машины адресом
>172.168.0.2 кго нет(
>Че за хрень?ещё раз говорю проверь вывод
cat /proc/sys/net/ipv4/ip_forward
у тебя в цепочке форвард нет ни одного пакета
>Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)похоже FORWARD запрещён
дык уверяю тебя что он включен, я уже пять раз это проверил и cat'ом и systl'ом говорит, что
что значение равно 1. млин если честно уже так запарился..
и не могу понять откуда ноги растут((
Слухай а это не может быть ядровым клюком? Хотя нет бред.. Просто были мысли по поводу pppoe
может там че... нет бред.. Короче не знаю))
Здраствуй, я уже давненько не пользуюсь Linux`ом в качестве маршрутизатора. Первый сервер поставил на Gentoo, нашел его конфигурацию, простенько но работало. Выкладываю кусок кода, может поможет:
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t nat -P POSTROUTING ACCEPTiptables -t nat -F
iptables -t mangle -Fiptables -t filter -P INPUT ACCEPT
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT ACCEPT
iptables -t filter -F# Насколько помню, заменяет MTU сетевого интерфейса, как и у pppoe:
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtuiptables -t filter -A FORWARD -i eth0 -s 192.168.0.1 -j ACCEPT
iptables -t filter -A FORWARD -i ppp0 -d 192.168.0.1 -j ACCEPT
Извиняюсь, забыл одну из главных сточек! В конце ещё надо добавить:
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
Спасибо большое ))
Сейчас буду бробовать))Слушай, а ты не в курсе в чем может быть причина не работы forward'инга?
Sysctl и Proc говорит, что он включен, но при это ничего не форвардится(
>Спасибо большое ))
>Сейчас буду бробовать))
>
>Слушай, а ты не в курсе в чем может быть причина не
>работы forward'инга?
>Sysctl и Proc говорит, что он включен, но при это ничего не
>форвардится(ХЗ что и думать, на всяк случай покажи
cat /proc/modules |grep ip
ещё одна бредовая мысль, eth1 у тебя работает?
в том выводе ifconfig что ты показал на нём 0 пакетов
попробуй из сети запустить пинг на инет и посмотри
tcpdump-ом iptables-ом куда доходят пакеты, а на той машине
с которой будешь пинать инет - с какого ИПа приходят ответы о
недоступности инета
>Извиняюсь, забыл одну из главных сточек! В конце ещё надо добавить:
>
>iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
>2 Petrus
если ты читал предыдущие посты то мог заметить, что
в iptables во всех цепочках политика по умолчанию ACCEPT
и внесение каких либо правил пока просто неуместно,
а применять маскарадинг или НАТ в рассматриваемом случае
принципиального значения не имеет, за исключением того,
что НАТ расходует меньше ресурсов.
Ребят могу только огорчить ничего не вышло. Все по прежнему не работает и количество пакетов в таблице forward по прежнему равно 0 (( Уже начинается истерика((( Не знаю в какой бубен уже и стучать((
>Ребят могу только огорчить ничего не вышло. Все по прежнему не работает
>и количество пакетов в таблице forward по прежнему равно 0 ((
>Уже начинается истерика((( Не знаю в какой бубен уже и стучать((
>ещё одна бредовая мысль, eth1 у тебя работает?
в том выводе ifconfig что ты показал на нём 0 пакетов
попробуй из сети запустить пинг на инет и посмотри
tcpdump-ом iptables-ом куда доходят пакеты, а на той машине
с которой будешь пинать инет - с какого ИПа приходят ответы о
недоступности инета
Проблема еще очень актуальна)))Ребят вот список загруженных модулей:
ipt_MASQUERADE 2520 0 (unused)
ipt_LOG 3544 3 (autoclean)
iptable_nat 27870 1 [ipt_MASQUERADE]
ip_conntrack 35360 0 [ipt_MASQUERADE iptable_nat]
iptable_mangle 2136 0 (unused)
iptable_filter 1740 1
ip_tables 16000 7 [ipt_MASQUERADE ipt_LOG iptable_nat iptable_mangle iptable_filter]
bsd_comp 4216 0 (autoclean)
e100 52532 1
e1000 73836 1
agpgart 30784 0 (unused)
Вот в том то и прикол что пинговать инет с локальной машины не могу(( могу только пинговать внутренний ip (172.168.0.1) адрес и как нестранно ip(85.21.145.99) а инет к сожелению нет.Вот еще что ip_conntrack говорит что:
src 172.168.0.1 dst 213.180.204.8 UNRIPLED
Слухайте может пропустил какие-нибудь опции ядра??
Кстати а кто выступает вроли шлюза локальной сети (172.168.0.0.)?
>Кстати а кто выступает вроли шлюза локальной сети (172.168.0.0.)?исходя из тех данных, что ты давал
172.168.0.1если не получается внимательно читать маны и доки, хотя бы сделай то, что просят
в iptables убери все правила, что б там было пусто
добавляешь одно единственгное правило
iptables -t nat -I POSTROUTING -o ppp0 -j SNAT --to-source 85.21.145.99
или
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
что больше нравиться, для начала я бы сделал MASQUERADE а потом игрался с SNAT
надеюсь в таблице мангле пусто
если игрался с iproute убери оттуда всёиз локалки пускаешь пинг на инет, лучше по прямому ИП что б исключить влияние ДНСа, если с винды, то с ключом -t
после этого снимаешь данные на шлюзе не останавливая пинга и сюда
iptables -L -vn
iptables -t nat -L -vn
ifconfig
cat /proc/sys/net/ipv4/ip_forwardи глянуть бы
cat /etc/sysconfig/network-scripts/ifcfg-ppp0
Да лан не греши на меня, доку я всю прально читал по этому и обратился к вам.
Слушай ты будешь смеятся,но не работает на 2.4.34 уже три раза загружал, ну конфиг который ты сказал попробывать!!! Потом сел и ядро перекомпилил, но уже версии 2.4.33 конфиг взял от предыдущего 2.4.34 ничего не менял! И все заработало ))))Все тоже самое но в 2.4.34:
iptables -L -vn:Chain INPUT (policy ACCEPT 12 packets, 1568 bytes)
pkts bytes target prot opt in out source destinationChain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destinationChain OUTPUT (policy ACCEPT 4 packets, 245 bytes)
pkts bytes target prot opt in out source destinationiptables -t nat -L -vn:
Chain PREROUTING (policy ACCEPT 108 packets, 0 bytes)
pkts bytes target prot opt in out source destinationChain POSTROUTING (policy ACCEPT 3 packets, 218 bytes)
pkts bytes target prot opt in out source destination
44 2474 SNAT all -- * ppp0 0.0.0.0/0 0.0.0.0/0 to:85.21.145.99Chain OUTPUT (policy ACCEPT 5 packets, 218 bytes)
pkts bytes target prot opt in out source destinationifconfig:
eth0 Link encap:Ethernet HWaddr 00:04:23:47:2E:8B
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3977 errors:0 dropped:0 overruns:0 frame:0
TX packets:2781 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1580147 (1.5 Mb) TX bytes:1399584 (1.3 Mb)
Base address:0x7000 Memory:f0200000-f0220000eth1 Link encap:Ethernet HWaddr 00:04:23:47:2E:8C
inet addr:172.168.0.1 Bcast:172.168.255.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:529 errors:0 dropped:0 overruns:0 frame:0
TX packets:3532 errors:3 dropped:0 overruns:0 carrier:3
collisions:0 txqueuelen:1000
RX bytes:77159 (75.3 Kb) TX bytes:276297 (269.8 Kb)
Interrupt:18 Base address:0x8840 Memory:f0321000-f0321038lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:7013 errors:0 dropped:0 overruns:0 frame:0
TX packets:7013 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:778792 (760.5 Kb) TX bytes:778792 (760.5 Kb)ppp0 Link encap:Point-to-Point Protocol
inet addr:85.21.145.99 P-t-P:10.20.253.224 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1452 Metric:1
RX packets:865 errors:0 dropped:0 overruns:0 frame:0
TX packets:868 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:741481 (724.1 Kb) TX bytes:648189 (632.9 Kb)route -n:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.20.253.224 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
172.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 ppp0cat /proc/sys/net/ipv4/ip_forward:
1PS: Ребят большое спасибо за помощь и за потраченное время!
Только до сих пор не понимаю почему не работает тоже самое в 2.4.34.Вот смотри:
iptables -L -vn:Chain INPUT (policy ACCEPT 1869 packets, 580K bytes)
pkts bytes target prot opt in out source destinationChain FORWARD (policy ACCEPT 411 packets, 141K bytes)
pkts bytes target prot opt in out source destinationChain OUTPUT (policy ACCEPT 3159 packets, 688K bytes)
pkts bytes target prot opt in out source destinationiptables -t nat -L -vn:
Chain PREROUTING (policy ACCEPT 1333 packets, 1250K bytes)
pkts bytes target prot opt in out source destinationChain POSTROUTING (policy ACCEPT 27 packets, 1896 bytes)
pkts bytes target prot opt in out source destination
44 2474 SNAT all -- * ppp0 0.0.0.0/0 0.0.0.0/0 to:85.21.145.99Chain OUTPUT (policy ACCEPT 126 packets, 10010 bytes)
pkts bytes target prot opt in out source destinationifconfig:
eth0 Link encap:Ethernet HWaddr 00:04:23:47:2E:8B
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3977 errors:0 dropped:0 overruns:0 frame:0
TX packets:2781 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1580147 (1.5 Mb) TX bytes:1399584 (1.3 Mb)
Base address:0x7000 Memory:f0200000-f0220000eth1 Link encap:Ethernet HWaddr 00:04:23:47:2E:8C
inet addr:172.168.0.1 Bcast:172.168.255.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:529 errors:0 dropped:0 overruns:0 frame:0
TX packets:3532 errors:3 dropped:0 overruns:0 carrier:3
collisions:0 txqueuelen:1000
RX bytes:77159 (75.3 Kb) TX bytes:276297 (269.8 Kb)
Interrupt:18 Base address:0x8840 Memory:f0321000-f0321038lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:7013 errors:0 dropped:0 overruns:0 frame:0
TX packets:7013 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:778792 (760.5 Kb) TX bytes:778792 (760.5 Kb)ppp0 Link encap:Point-to-Point Protocol
inet addr:85.21.145.99 P-t-P:10.20.253.224 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1452 Metric:1
RX packets:865 errors:0 dropped:0 overruns:0 frame:0
TX packets:868 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:741481 (724.1 Kb) TX bytes:648189 (632.9 Kb)route -n:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.20.253.224 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
172.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 ppp0cat /proc/sys/net/ipv4/ip_forward:
1
Сорри местами перепутал выводы местами перепутал в низу рабочий (2.4.33), вверху не рабочий (2.4.34).Еще раз большое спасибо ребят за помощь!!!!
>Сорри местами перепутал выводы местами перепутал в низу рабочий (2.4.33), вверху не
>рабочий (2.4.34).
>
>Еще раз большое спасибо ребят за помощь!!!!Такая же беда у меня была с ASP10, скачать-собрать другое ядро возможности не было. Поставил другой дистр, всё заработало. За 2 дня было убито 2 млн. нервных клеток.