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
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
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
# 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
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
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
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
я никак не могу понять что я делаю не правильно.
кто знает и разбирается, подскажите пожалуйста в чем ошибка?
это прописано, забыл указать в посте (обновил).
на сколько я понимаю, если прописано, то потом специально устанавливать не нужно
на сколько я понимаю, если прописано, то потом специально устанавливать не нужно
interface=eth0
address=192.168.0.1
broadcast=192.168.0.255
netmask=255.255.0.0
gateway=192.168.22.1
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, судя по маске
gateway=192.168.22.1
прописан на компе и на роутере?
думаю, надо более подробную схему
настройки роутера (dir-400):
ISP Gateway Address : 192.168.22.1
rc.conf:
gateway=192.168.22.1
Да, на компе и на роутере.
хочу раздать интернет по wi-fi чтобы можно было сидеть с телефона. единственная возможность выйти в интернет - 3g модем подключенный к компу.
Роутер подключил к компу по локалке. Осталось раздать интернет с компа роутеру.
ISP Gateway Address : 192.168.22.1
rc.conf:
gateway=192.168.22.1
Да, на компе и на роутере.
хочу раздать интернет по wi-fi чтобы можно было сидеть с телефона. единственная возможность выйти в интернет - 3g модем подключенный к компу.
Роутер подключил к компу по локалке. Осталось раздать интернет с компа роутеру.
чет все-равно не понял.
интернет только 3G? других подключений к инету в локалке нет?
тогда
wifi-device -> wifi-router (служит gw для wifi-device) ->комп(служит gw для wifi-router)-> провйдер через 3g модем(gw для компа).
как я понимаю не должны они быть одинаковые
интернет только 3G? других подключений к инету в локалке нет?
тогда
wifi-device -> wifi-router (служит gw для wifi-device) ->комп(служит gw для wifi-router)-> провйдер через 3g модем(gw для компа).
как я понимаю не должны они быть одинаковые
интернет только 3G? - да
других подключений к инету в локалке нет? - да
да, схема именно такая.
чего-то не хватает в моих настройках для этой схемы или они не верные для нее?
других подключений к инету в локалке нет? - да
да, схема именно такая.
чего-то не хватает в моих настройках для этой схемы или они не верные для нее?
для роутера gw должен быть ip eth0 компа, т.е. 192.168.0.1. иначе он посылает пакеты на ип 192.168.22.1, которого в данном сегменте просто нет.
аналогично для компа либо вообще убрать 192.168.22.1, либо прописать ppp0, точно не скажу.
про nat не скажу, сам делал по wiki.
можно на комп поставить снифер и посмотреть куда пакеты идут
аналогично для компа либо вообще убрать 192.168.22.1, либо прописать ppp0, точно не скажу.
про nat не скажу, сам делал по wiki.
можно на комп поставить снифер и посмотреть куда пакеты идут
еще у меня роутер позволяет сделать nslookup, можно посмотреть на каком узле затык.
понятно что в роутах. везде прописан gateway=192.168.22.1
которого, как я понял вообще нет. пакеты и уходят в никуда.
которого, как я понял вообще нет. пакеты и уходят в никуда.
все верно, 192.168.22.1 в сети нет.
я смотрел всевозможные примеры и скопипастил
gateway=192.168.22.1
т.к. не знал зачем он нужен и в примере особого описания небыло. )
попробовать применить Ваши советы еще не успел.
как попробую сразу отпишу.
я смотрел всевозможные примеры и скопипастил
gateway=192.168.22.1
т.к. не знал зачем он нужен и в примере особого описания небыло. )
попробовать применить Ваши советы еще не успел.
как попробую сразу отпишу.
Стоп. Ты не понимаешь, зачем нужен шлюз по умолчанию? Тогда не спеши следовать моим советам :)
Пока на работе затишье, я разовью мысль:
когда компы в одной подсети (например 192.168.0.1/24 и 192.168.0.5/24) то они отправляют друг другу пакеты напрямую А если в разных (например 192.168.0.1/24 192.168.50.1/24), то они не могут "видеть" друг друга и отправляют пакет шлюзу, который и должен разобраться, куда его дальше передать. Соответственно, если ты из локалки хочешь получить доступ в интернет, то устройство из локалки отправляет пакет на шлюз. А уже шлюз делает всё остальное - в самом частом случае натит и отправляет дальше на свой шлюз.
Поэтому нужно на железке, с которой ты подключаешься к роутеру установить шлюзом IP роутера, на роутере шлюзом установить IP сетевого интерфейса компа, к которому подключён роутер. Ну а вот уже на компе нужен шлюз провайдера. Но на компе интернет работает, как я понял - значит дело в шлюзе устройства и роутера.
когда компы в одной подсети (например 192.168.0.1/24 и 192.168.0.5/24) то они отправляют друг другу пакеты напрямую А если в разных (например 192.168.0.1/24 192.168.50.1/24), то они не могут "видеть" друг друга и отправляют пакет шлюзу, который и должен разобраться, куда его дальше передать. Соответственно, если ты из локалки хочешь получить доступ в интернет, то устройство из локалки отправляет пакет на шлюз. А уже шлюз делает всё остальное - в самом частом случае натит и отправляет дальше на свой шлюз.
Поэтому нужно на железке, с которой ты подключаешься к роутеру установить шлюзом IP роутера, на роутере шлюзом установить IP сетевого интерфейса компа, к которому подключён роутер. Ну а вот уже на компе нужен шлюз провайдера. Но на компе интернет работает, как я понял - значит дело в шлюзе устройства и роутера.
спасибо за подробное толкование!
я действительно не знал зачем нужен gw =)
и видимо проблема была в нем, т.к.
с компа удалил gw, на роутере прописал ip компа в качестве шлюза.
еще на компе поменял маску на 255.255.255.0
все остальное осталось как описано в моем первом посте.
интернет появился )
еще поставил снифер, стало отчетливо видно откуда и куда идут пакеты если идут. тоже помогло.
iptables -nvL выполнял, но там инфа какая-то не информативная. только количество пакетов что пришло и ушло. про маскарадинг ни слова.
Большое спасибо за помощь!
я действительно не знал зачем нужен gw =)
и видимо проблема была в нем, т.к.
с компа удалил gw, на роутере прописал ip компа в качестве шлюза.
еще на компе поменял маску на 255.255.255.0
все остальное осталось как описано в моем первом посте.
интернет появился )
еще поставил снифер, стало отчетливо видно откуда и куда идут пакеты если идут. тоже помогло.
iptables -nvL выполнял, но там инфа какая-то не информативная. только количество пакетов что пришло и ушло. про маскарадинг ни слова.
Большое спасибо за помощь!
iptables -nvL выполнял, но там инфа какая-то не информативная. только количество пакетов что пришло и ушло. про маскарадинг ни слова.
Странно. У меня показывает все активные правила.
Ну заработало и хорошо.
Попробуй руками удалить все дефолт роуты и создать их руками.
Посмотри iptables -nvL , какие счётчики тикают? Маскарадинг вообще пропускает через себя пакеты?
Посмотри iptables -nvL , какие счётчики тикают? Маскарадинг вообще пропускает через себя пакеты?
Ах, да. Роут новый попробуй прописать не через интерфейс, а через айпишник.
ну и если есть лишние деньги можно поменять роутер на модель с usb - они могут поддерживать 3g модемы, внешние диски.
проблема продолжилась.
все прекрасно работало, но после чего-то (скорее всего обновления, т.к. настройки не трогал) пакеты перестали переправляться с eth0 на ppp0.
т.е.
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE
не влияет на работу.
кто знает, в чем может быть причина?
все прекрасно работало, но после чего-то (скорее всего обновления, т.к. настройки не трогал) пакеты перестали переправляться с eth0 на ppp0.
т.е.
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE
не влияет на работу.
кто знает, в чем может быть причина?
Файл: /etc/sysctl.conf
net.ipv4.ip_forward = 1
и сделаем
sysctl -w net.ipv4.ip_forward=1