der_y 08.04.2012 13:31

Есть проблема!Не могу подружить комп с роутером

Привет всем.

Проблема у меня такая:

Комп подключен к интернету через 3g модем,
роутер подключен к компу по локальной сети и должен пользоваться интернетом с модема.

Не могу заставить роутер пользоваться интернетом компа.

У меня arch.

rc.conf:
interface=eth0
address=192.168.0.1
broadcast=192.168.0.255
netmask=255.255.0.0
gateway=192.168.22.1


rc.local:
wvdial &
sleep 5
route add default ppp0
iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -o ppp0 -j MASQUERADE


sysctl.conf:
#
# Kernel sysctl configuration
#

# Disable packet forwarding
net.ipv4.ip_forward=1

# Disable the magic-sysrq key (console security issues)
kernel.sysrq = 0

# Enable TCP SYN Cookie Protection
net.ipv4.tcp_syncookies = 1


route -n
1
2
3
4
5
6
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 ppp0
0.0.0.0 192.168.22.1 0.0.0.0 UG 0 0 0 eth0
10.0.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.0.0 U 0 0 0 eth0



sudo iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination

Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- 192.168.0.0/16 anywhere


настройки роутера (dir-400):
IP Address : 192.168.0.2 (assigned by your ISP)

Subnet Mask : 255.255.0.0

ISP Gateway Address : 192.168.22.1

Primary DNS Address : 217.8.237.53

Secondary DNS Address : 217.8.237.61 (optional)

MTU : 1500


я никак не могу понять что я делаю не правильно.
кто знает и разбирается, подскажите пожалуйста в чем ошибка?


Тэги: 3G-модем arch iptables route router
+ 0 -
Похожие Поделиться

jh 08.04.2012 14:29 #
может это поможет (из вики генту)

Файл: /etc/sysctl.conf
net.ipv4.ip_forward = 1
и сделаем
sysctl -w net.ipv4.ip_forward=1

der_y 08.04.2012 14:55 #
это прописано, забыл указать в посте (обновил).
на сколько я понимаю, если прописано, то потом специально устанавливать не нужно
jh 09.04.2012 05:39 #
interface=eth0
address=192.168.0.1
broadcast=192.168.0.255
netmask=255.255.0.0
gateway=192.168.22.1

broadcast должен быть 192.168.255.255, судя по маске
der_y 09.04.2012 09:20 #
буду дома - проверю и отпишусь
jh 09.04.2012 05:49 #
gateway=192.168.22.1

прописан на компе и на роутере?
думаю, надо более подробную схему
der_y 09.04.2012 09:19 #
настройки роутера (dir-400):
ISP Gateway Address : 192.168.22.1

rc.conf:
gateway=192.168.22.1

Да, на компе и на роутере.

хочу раздать интернет по wi-fi чтобы можно было сидеть с телефона. единственная возможность выйти в интернет - 3g модем подключенный к компу.
Роутер подключил к компу по локалке. Осталось раздать интернет с компа роутеру.
jh 09.04.2012 12:20 #
чет все-равно не понял.
интернет только 3G? других подключений к инету в локалке нет?
тогда
wifi-device -> wifi-router (служит gw для wifi-device) ->комп(служит gw для wifi-router)-> провйдер через 3g модем(gw для компа).
как я понимаю не должны они быть одинаковые
der_y 09.04.2012 13:47 #
интернет только 3G? - да
других подключений к инету в локалке нет? - да

да, схема именно такая.
чего-то не хватает в моих настройках для этой схемы или они не верные для нее?
jh 09.04.2012 15:54 #
для роутера gw должен быть ip eth0 компа, т.е. 192.168.0.1. иначе он посылает пакеты на ип 192.168.22.1, которого в данном сегменте просто нет.
аналогично для компа либо вообще убрать 192.168.22.1, либо прописать ppp0, точно не скажу.
про nat не скажу, сам делал по wiki.
можно на комп поставить снифер и посмотреть куда пакеты идут
jh 09.04.2012 15:58 #
еще у меня роутер позволяет сделать nslookup, можно посмотреть на каком узле затык.
uscr 09.04.2012 17:27 #
Я гарантирую - проблема в роутах. Не игнорируй мои сообщения ниже.
jh 09.04.2012 17:31 #
понятно что в роутах. везде прописан gateway=192.168.22.1
которого, как я понял вообще нет. пакеты и уходят в никуда.
uscr 09.04.2012 22:39 #
Угу. Топикстартер, недоговаривает, мне кажется.
der_y 10.04.2012 09:27 #
все верно, 192.168.22.1 в сети нет.
я смотрел всевозможные примеры и скопипастил
gateway=192.168.22.1
т.к. не знал зачем он нужен и в примере особого описания небыло. )
попробовать применить Ваши советы еще не успел.
как попробую сразу отпишу.
uscr 10.04.2012 12:08 #
Стоп. Ты не понимаешь, зачем нужен шлюз по умолчанию? Тогда не спеши следовать моим советам :)
uscr 10.04.2012 20:08 #
Пока на работе затишье, я разовью мысль:

когда компы в одной подсети (например 192.168.0.1/24 и 192.168.0.5/24) то они отправляют друг другу пакеты напрямую А если в разных (например 192.168.0.1/24 192.168.50.1/24), то они не могут "видеть" друг друга и отправляют пакет шлюзу, который и должен разобраться, куда его дальше передать. Соответственно, если ты из локалки хочешь получить доступ в интернет, то устройство из локалки отправляет пакет на шлюз. А уже шлюз делает всё остальное - в самом частом случае натит и отправляет дальше на свой шлюз.

Поэтому нужно на железке, с которой ты подключаешься к роутеру установить шлюзом IP роутера, на роутере шлюзом установить IP сетевого интерфейса компа, к которому подключён роутер. Ну а вот уже на компе нужен шлюз провайдера. Но на компе интернет работает, как я понял - значит дело в шлюзе устройства и роутера.
der_y 10.04.2012 20:30 #
спасибо за подробное толкование!
я действительно не знал зачем нужен gw =)

и видимо проблема была в нем, т.к.
с компа удалил gw, на роутере прописал ip компа в качестве шлюза.
еще на компе поменял маску на 255.255.255.0
все остальное осталось как описано в моем первом посте.
интернет появился )
еще поставил снифер, стало отчетливо видно откуда и куда идут пакеты если идут. тоже помогло.

iptables -nvL выполнял, но там инфа какая-то не информативная. только количество пакетов что пришло и ушло. про маскарадинг ни слова.

Большое спасибо за помощь!
uscr 10.04.2012 20:50 #
iptables -nvL выполнял, но там инфа какая-то не информативная. только количество пакетов что пришло и ушло. про маскарадинг ни слова.


Странно. У меня показывает все активные правила.
Ну заработало и хорошо.
der_y 10.04.2012 20:31 #
Большое спасибо за помощь!
uscr 09.04.2012 09:23 #
Попробуй руками удалить все дефолт роуты и создать их руками.
Посмотри iptables -nvL , какие счётчики тикают? Маскарадинг вообще пропускает через себя пакеты?
uscr 09.04.2012 09:39 #
Ах, да. Роут новый попробуй прописать не через интерфейс, а через айпишник.
jh 09.04.2012 12:22 #
ну и если есть лишние деньги можно поменять роутер на модель с usb - они могут поддерживать 3g модемы, внешние диски.
der_y 12.05.2012 11:43 #
проблема продолжилась.
все прекрасно работало, но после чего-то (скорее всего обновления, т.к. настройки не трогал) пакеты перестали переправляться с eth0 на ppp0.
т.е.
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE
не влияет на работу.

кто знает, в чем может быть причина?