Имеется:
Ноут<--Wi-Fi-->КПК
Инет организован по VPN
Нужно расшарить VPN соединение на Wi-Fi сеть.
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
Это что то не помогло.
Пинг между ноутом и кпк есть а инета на кпк нет :(
PS Если поможете настроить. Желательно потом еще инструкцию как потом отключить шаринг))) Вам надоела ненужная-надаедливая реклама на сайтах, открывающиеся окна? Воспользуйтесь программой
adguard, для ее блокировки.
Комментарии
что за роутер?
никакого роутера. Просто ноут с wi-fi адаптером.
в роутере не надо знать дебиан))
echo 1 > /proc/sys/net/ipv4/ip_forward
modprobe iptable_nat
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
не?
modprobe iptable_nat
Вот это не делал. Сейчас затестю.
ноль эмоций((
У меня так дома всё работает (на трёх строчках) и тож ВПН, правда без Wi-Fi...
Можно попробовать поставить пакет ipmasq, и надеяться на то, что всё само заработает... Или гуглить дальше в строну понимания как всё работает и что именно нужно сделать.
ок. вечером погуглим снова.
просто мануал по iptables я сразу не осилил.
У меня более громоздкий скрипт, не помню уже откуда утянул, в содержимое особо не вникал ибо и так работает :-)
ovchin:~# cat /etc/network/
#!/bin/sh
INTIF="eth0"
EXTIF="eth1"
EXTIP="х.х.х.х"
/sbin/depmod -a
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_conntrack_irc
/sbin/modprobe iptable_nat
/sbin/modprobe ip_nat_ftp
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
iptables -P INPUT ACCEPT
iptables -F INPUT
iptables -P OUTPUT ACCEPT
iptables -F OUTPUT
iptables -P FORWARD DR?1?P
iptables -F FORWARD
iptables -t nat -F
iptables -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT
iptables -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
>iptables -P FORWARD DR?1?P
Чего-то контакт на хочет писать drop большими буквами
DR?1?P
Круто))) действительно глюк)
Николай Овчинников
Скрипт попробую.
Кто здесь кто?
INTIF="eth0"
EXTIF="eth1"
EXTIP="х.х.х.х"
---------------------------------------------------------------------------
LinSh:/home/shad0w# ifconfig
eth0 Link encap:Ethernet HWaddr 00:13:49:26:c2:80
inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::213:49ff:fe26:c280/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1173 errors:0 dropped:0 overruns:0 frame:0
TX packets:286 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:73566 (71.8 KiB) TX bytes:29502 (28.8 KiB)
Interrupt:11
eth1 Link encap:Ethernet HWaddr 00:40:d0:28:3c:9d
inet addr:10.х.х.х Bcast:10.х.х.х Mask:255.255.224.0
inet6 addr: fe80::х:х:х:х/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:5191036 errors:0 dropped:147768 overruns:0 frame:0
TX packets:4224703 errors:3 dropped:0 overruns:3 carrier:0
collisions:0 txqueuelen:1000
RX bytes:630371064 (601.1 MiB) TX bytes:894837223 (853.3 MiB)
Interrupt:11 Base address:0xc000
irda1 Link encap:IrLAP HWaddr 56:f5:98:8a
UP RUNNING NOARP MTU:2048 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:106393 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:8
RX bytes:0 (0.0 B) TX bytes:1595895 (1.5 MiB)
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:6093 errors:0 dropped:0 overruns:0 frame:0
TX packets:6093 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:379897 (370.9 KiB) TX bytes:379897 (370.9 KiB)
ppp0 Link encap:Point-to-Point Protocol
inet addr:95.х.х.х P-t-P:83.х.х.х Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1464 Metric:1
RX packets:1133697 errors:0 dropped:0 overruns:0 frame:0
TX packets:1749019 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:123070500 (117.3 MiB) TX bytes:1999024963 (1.8 GiB)
----------------------------------------------------------------
А сейчас установил ipmasq
ввел
echo 1 > /proc/sys/net/ipv4/ip_forward
modprobe iptable_nat
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
Пинги между кпк и компом есть в инет так и не выходит.
Опера на кпк просто говорит что удаленный сервер не найден а NetFront говорит
DNS Server not specifed. Хотя в настройках я задал его. Может что то с ДНС на ноуте надо искать?
я так понимаю
у меня должно быть так?
INTIF="ppp0"
EXTIF="eth0"
EXTIP="192.168.0.1"
А DNS ты указал такой же как у ноута? Пинги на него идут?
эм... не совсем понял. в общем на кпк такие настройки.
IP 192.168.0.90
Mask 255.255.255.0
Gate 192.168.0.1
DNS 192.168.0.1
192.168.0.1 <- -> 192.168.0.90
ping 3-4ms
Наоборот, extif это внешний интерфейс, к провайдеру
А что я тогда тут задам? 0_о
EXTIP=
то, что выдает ifconfig ppp0
>DNS 192.168.0.1
У тебя на ноуте DNS? Если нет - поставь IP DNS-сервера провайдера.
Сергей предположительно Жуга
Надо проверить. Просто я расшаривал инет только в винде а там надо задавать так.
Николай Овчинников
Так провайдер адрес раздает динамически. сегодня один завтра другой.
виндоза автоматом поднимает dns
Проще прописать dns провайдера чем настраивать у себя dns
Дык в скрите можно указать чтобы он брал его из ifconfig. Вечером напишу как, счас с трубы пишу - не проверить.
откопал классную мануалку, как сэкономить на точке доступа, используя вместо этого обычное оборудование.
Как раз себе делаю, может и вам поможет:
DR?1?P
SELECT UPD?1?T?1? INSERT UNION
Сорри за флуд. ;)
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE - это чо за пиздец?
iptables -t nat -A POSTROUTING -p ALL -s 10.1.12.222 -j SNAT --to-source 123.123.123.123
скрипт накатал:
на питоне правда, но там вообще все понятно. если что - спрашивайте.
История конечно ппц.... (((
Попробовал то что писали
Установил ipmasq
потом скрипт который дал Николай Овчинников
#!/bin/sh
INTIF="ppp0"
EXTIF="eth0"
EXTIP="192.168.0.1"
/sbin/depmod -a
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_conntrack_irc
/sbin/modprobe iptable_nat
/sbin/modprobe ip_nat_ftp
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
iptables -P INPUT ACCEPT
iptables -F INPUT
iptables -P OUTPUT ACCEPT
iptables -F OUTPUT
iptables -P FORWARD DR?1?P
iptables -F FORWARD
iptables -t nat -F
iptables -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT
iptables -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
Инет был. Всё нормально.
Выключил комп. Ушел по делам. Пришел домой включаю.... а инета больше нет(((
Сижу теперь в венде в полных непонятках что теперь делать чтоб хотябы восстановить.
Yakov Filippenko
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
Этот пиздец почти на каждом форуме как заветное спасение.
В скрипт не вдавался.
Только непонятны
-----------------------------------------------------------
local_ip = n("/sbin/ifconfig eth0").read().split('\n')[1].strip().split()[1].split(':')[1]
local_iface = 'eth0'
eth0 это что? сетевая или wi-fi?
---------------------------------------------------------
snat_users = {
'HEDDGY':'10.1.15.56',
'LEANID':'10.1.15.146', #7
'ANDREY':'10.1.13.43', # 3
'VALENTINA':'10.1.12.191',
}
Кто такие? Кого мне вместо этого надо вписать? и что значат #3 #7 ?
---------------------------------------------------------
banned_dst_ip = {
'':'204.9.177.18',
'':'62.213.122.2'}
Ну нельзя же так)))) За что?)))
----------------------------------------------------------
Yakov Filippenko:
> SNAT
Мимо :D У него динамический "внешний" IP ;)
>
Скрипт, конечно, Ъ - но зачем же так сложно???
Сергей 影|Shad0w|影 Вергун:
Мог бы к моим трём строчкам добавить
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
и всё.
Сергей 影|Shad0w|影 Вергун
eth0 - интерфейс локальной сети, то есть той сети, откуда будем пускать пользователей в интернет
ppp0 - ну понятно что
разницы в том, что это: езернет или вайфай не вижу ;)
snat_users - список ip'шников, которым будем раздавать интернет
'heddgy' - имя пользователя (ну для статистики используется)
'10.1.15.56' - его ип, записанный строкой
#3, #7 - комментарии ;)
просто лень было удалять их из этого списка (я им на время отрубил инет), поэтому я меняю им последнюю цифру в ip'е, а в комментах пишу, какая должна быть
banned_dst_ip - ну надоели ;)))
кстати, жж переехаил и у них ip шлюза сменился. надо будет перебанить.
Сергей предположительно Жуга
у меня тоже.
строчка
inet_ip = n("/sbin/ifconfig ppp0").read().split('\n')[1].strip().split()[1].split(':')[1]
выдирает ip, привязанный к ppp0
если кому не нужна статистика и/или не охота возиться с sqlite - можно удалить stat() и импорт соответствующих библиотек.
всё ясно. вот только как теперь восстановить инет =(((
У меня корбина. Маршруты вроде прописаны все. После перезагрузки VPN не подключен. открывается. Подключаю VPN и всё.... Опера даже не думает открывать или нет. Сразу пишет Error!
Сергей 影|Shad0w|影 Вергун
сделай
# ./ stop
перезапусти VPN - работает?
очень похоже на то, откуда я брал свой скрипт, с динамическими ip
Yakov Filippenko
я твой скрипт еще не применял
и кпк больше не пингуется((
неудивительно - самый тривиальный путь.
единственно, что там написано на убогом sh
Сергей 影|Shad0w|影 Вергун
ну перезапусти все сетевые интерфейсы.
1) У меня нет модуля pysqlite2 поэтому твой скрипт не стартует.
2) Что закоментить чтоб база sql не использовалась я так и не понял.
:-[ то там то там выскакивает ошибка
3) Так как теперь откатиться после скрипта который давал Николай?
dmesg стал выдавать такие строки. (раньше небыло)
[ 54.707862] IN=eth1 OUT= MAC= SRC=10.41.x.x DST=224.0.0.251 LEN=254 TOS=0x00 PREC=0x00 TTL=255 ID=0 DF PROTO=UDP SPT=5353 DPT=5353 LEN=234
[ 54.967759] IN=eth1 OUT= MAC= SRC=10.41.x.x DST=224.0.0.251 LEN=254 TOS=0x00 PREC=0x00 TTL=255 ID=0 DF PROTO=UDP SPT=5353 DPT=5353 LEN=234
[ 55.219072] IN=eth1 OUT= MAC= SRC=10.41.x.x DST=224.0.0.251 LEN=254 TOS=0x00 PREC=0x00 TTL=255 ID=0 DF PROTO=UDP SPT=5353 DPT=5353 LEN=234
[ 55.420818] IN=eth1 OUT= MAC= SRC=10.41.x.x DST=224.0.0.251 LEN=236 TOS=0x00 PREC=0x00 TTL=255 ID=0 DF PROTO=UDP SPT=5353 DPT=5353 LEN=216
[ 55.648909] lp0: using parport0 (interrupt-driven).
[ 55.700791] IN=eth1 OUT= MAC= SRC=10.41.x.x DST=224.0.0.251 LEN=134 TOS=0x00 PREC=0x00 TTL=255 ID=0 DF PROTO=UDP SPT=5353 DPT=5353 LEN=114
[ 55.848736] ppdev: user-space parallel port driver
[ 55.959432] IN=eth1 OUT= MAC= SRC=10.41.x.x DST=224.0.0.251 LEN=134 TOS=0x00 PREC=0x00 TTL=255 ID=0 DF PROTO=UDP SPT=5353 DPT=5353 LEN=114
[ 56.209560] IN=eth1 OUT= MAC= SRC=10.41.x.x DST=224.0.0.251 LEN=134 TOS=0x00 PREC=0x00 TTL=255 ID=0 DF PROTO=UDP SPT=5353 DPT=5353 LEN=114
[ 56.342654] Clocksource tsc unstable (delta = -66038850 ns)
[ 56.412452] IN=eth1 OUT= MAC= SRC=10.41.x.x DST=224.0.0.251 LEN=223 TOS=0x00 PREC=0x00 TTL=255 ID=0 DF PROTO=UDP SPT=5353 DPT=5353 LEN=203
[ 56.645789] IN=eth1 OUT= MAC= SRC=10.41.x.x DST=224.0.0.251 LEN=169 TOS=0x00 PREC=0x00 TTL=255 ID=0 DF PROTO=UDP SPT=5353 DPT=5353 LEN=149
[ 56.772538] IN=eth1 OUT= MAC= SRC=10.41.x.x DST=224.0.0.251 LEN=74 TOS=0x00 PREC=0x00 TTL=255 ID=0 DF PROTO=UDP SPT=5353 DPT=5353 LEN=54
[ 57.638609] IN=eth1 OUT= MAC= SRC=10.41.x.x DST=224.0.0.251 LEN=223 TOS=0x00 PREC=0x00 TTL=255 ID=0 DF PROTO=UDP SPT=5353 DPT=5353 LEN=203
[ 58.871646] IN=eth1 OUT= MAC= SRC=10.41.x.x DST=224.0.0.251 LEN=213 TOS=0x00 PREC=0x00 TTL=255 ID=0 DF PROTO=UDP SPT=5353 DPT=5353 LEN=193
[ 59.052179] IN=eth1 OUT= MAC= SRC=10.41.x.x DST=224.0.0.251 LEN=74 TOS=0x00 PREC=0x00 TTL=255 ID=0 DF PROTO=UDP SPT=5353 DPT=5353 LEN=54
[ 59.863551] IN=eth1 OUT= MAC= SRC=10.41.x.x DST=224.0.0.251 LEN=223 TOS=0x00 PREC=0x00 TTL=255 ID=0 DF PROTO=UDP SPT=5353 DPT=5353 LEN=203
Винда как варенье...
2 месяца её не трогал а она всё равно испортилась *WALL*
>3) Так как теперь откатиться после скрипта который давал Николай?
# чистим правила
/sbin/iptables -F INPUT
/sbin/iptables -F OUTPUT
/sbin/iptables -F FORWARD
Сергей 影|Shad0w|影 Вергун
либо поставь модуль python-pysqlite2
либо загрузи - тут без статистки
я б поставил так инета нет))
а как тогда ты скрипты мои сливаешь ? ;)
на самом деле могу послать на мыло
> неудивительно - самый тривиальный путь.
> единственно, что там написано на убогом sh
Проще написать порядка 100 строк на тру-питоне, хуле? ;)
угу. намного проще. при этом оно не в разы производительнее, понятнее, адекватнее, модельнее. попробуйте нормальным способом прикрутить к той херне скажем гуй или биллинг нормальный.
Вопрос: зачем? :)
Задача была заНАТить инет. На кой моржовый там ГУИ или биллинг? :D
во-первых, я не писал этот скрипт под проблему человека, а писал для своих нужд.
во-вторых, всегда надо думать о будущем развитии чего-нибудь.
конечно всегда можно написать что-нибудь через жопу, не масштабируемое вовсе. и как обычно бывает, что при необходимости добавления новой функциональности такие чудо программисты, который пох на будущее, все будут переписывать с нуля.
что ж флаг вам в руки.
п.с. гуй там для примера, а вот скажем допишите нормальный биллинг к тому sh скрипту, который есть.
Качаю я из винды. периодически перезагружаясь.
Вы тут воюйте вот только скажите как реанимировать инет.
Yakov Filippenko
Скрипт2 выдал ту же ошибку что и первый(закоментченый мной)
LinSh:/home/shad0w# ./
Traceback (most recent call last):
File "./", line 16, in <module>
local_ip = n("/sbin/ifconfig eth0").read().split('\n')[1].strip().split()[1].split(':')[1]
IndexError: list index out of range
Николай Овчинников
# чистим правила
/sbin/iptables -F INPUT
/sbin/iptables -F OUTPUT
/sbin/iptables -F FORWARD
Строки вызывают аллергию.
При попытке перезагрузить. Комп тупо не выключается.
Виснет на Stopping portmap daemon и всё..............