Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Nat через ppp  (Прочитано 2323 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Vir

  • Автор темы
  • Новичок
  • *
  • Сообщений: 41
  • Все любят жить, но не всех любит жизнь.
    • Просмотр профиля
Nat через ppp
« : 12 Марта 2010, 14:22:21 »
Есть скрипт для nat:

(Нажмите, чтобы показать/скрыть)

WAN_ADDR – ip адрес, который смотрит в интернет
WAN_DEV – имя устройства, которое смотрит в интернет
LAN_DEV – имя устройства, которое смотрит в локальную сеть
LAN_GATE – ip адрес, который смотрит в локалку
LAN_SUBNET – локальная подсеть

При таких настройках я могу соединиться с локалкой провайдера. Но внешний интернет не работает все равно.

Как сделать, чтобы работало ppp0 соединение?  На ppp0 статический адрес.
Я говорю на двух языках...на правом и на левом. ;)

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Nat через ppp
« Ответ #1 : 12 Марта 2010, 15:37:29 »
Что не работает? NAT?

WAN_DEV=eth0
и
работало ppp0 соединение?
Как то не вяжется.

Оффлайн Vir

  • Автор темы
  • Новичок
  • *
  • Сообщений: 41
  • Все любят жить, но не всех любит жизнь.
    • Просмотр профиля
Re: Nat через ppp
« Ответ #2 : 12 Марта 2010, 16:14:31 »
Этот конфиг скрипта позволяет выпускать меня в локальную сеть.

Если указываю внешний интерфейс ppp0 и его ip и перезапускаю скрипт. Интернет не работает.

Пробовал включать модули
modprobe ip_gre
modprobe ip_nat_pptp
modprobe ip_conntrack_pptp

Так же не вышло.
Я говорю на двух языках...на правом и на левом. ;)

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Nat через ppp
« Ответ #3 : 12 Марта 2010, 16:19:21 »
Этот конфиг скрипта позволяет выпускать меня в локальную сеть.
Так куда надо, в локалку или в инет?

Если указываю внешний интерфейс ppp0 и его ip и перезапускаю скрипт. Интернет не работает.
Сам инет на сервере работает? Как проверяешь работу инета? Какой dns и шлюз у клиента настроен?

Пробовал включать модули
modprobe ip_gre
modprobe ip_nat_pptp
modprobe ip_conntrack_pptp

Так же не вышло.
Это для пропуска pptp через nat. Зачем оно тебе?

Оффлайн Vir

  • Автор темы
  • Новичок
  • *
  • Сообщений: 41
  • Все любят жить, но не всех любит жизнь.
    • Просмотр профиля
Re: Nat через ppp
« Ответ #4 : 12 Марта 2010, 16:45:47 »
Сервер на ubuntu 9.04
Поднят dhcp-сервер, раздающий нескольким машинам ip адреса.

(Нажмите, чтобы показать/скрыть)

Надо в инет. На сервере поднято vpn соединение, т.к. провайдер использует его.
Я говорю на двух языках...на правом и на левом. ;)

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Nat через ppp
« Ответ #5 : 12 Марта 2010, 17:01:16 »
Поднят dhcp-сервер, раздающий нескольким машинам ip адреса.
Машины получают настройки? Непосредственно с сервера в инет выходит? Как проверяешь работу инета?

Еще интересно взглянуть на
ifconfig -a
route -n
sudo iptables-save
nslookup ya.ru



Оффлайн Vir

  • Автор темы
  • Новичок
  • *
  • Сообщений: 41
  • Все любят жить, но не всех любит жизнь.
    • Просмотр профиля
Re: Nat через ppp
« Ответ #6 : 12 Марта 2010, 17:06:49 »
Да, с дхцп машины получают адреса. Выходят через проксю, но нужно проксю заменить натом.

ifconfig -a
(Нажмите, чтобы показать/скрыть)

route -n
(Нажмите, чтобы показать/скрыть)

 iptables-save
(Нажмите, чтобы показать/скрыть)

 nslookup ya.ru
Server:         192.0.4.2
Address:        192.0.4.2#53

Non-authoritative answer:
Name:   ya.ru
Address: 77.88.21.8
Name:   ya.ru
Address: 93.158.134.8
Name:   ya.ru
Address: 213.180.204.8
Я говорю на двух языках...на правом и на левом. ;)

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Nat через ppp
« Ответ #7 : 12 Марта 2010, 17:28:27 »
Правила iptables не прописаны.

Делай так. Создай файлик /etc/network/if-up.d/iptables-init:
#!/sbin/iptables-restore
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A POSTROUTING -o eth0 -j MASQUERADE
-A POSTROUTING -o ppp0 -j MASQUERADE
COMMIT
*filter
:INPUT ACCEPT [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
-A FORWARD -m conntrack --ctstate NEW -i eth1 -j ACCEPT
COMMIT
#

Дай ему права на исполнение
sudo chmod +x /etc/network/if-up.d/iptables-initи запусти инициализацию
/etc/network/if-up.d/iptables-init
Это включит nat для eth0 и ppp0. Правила для INPUT дописывай уже сам на своё усмотрение, а то щас посоветую, а у тебя доступ пропадёт какой-нибудь.

Оффлайн Vir

  • Автор темы
  • Новичок
  • *
  • Сообщений: 41
  • Все любят жить, но не всех любит жизнь.
    • Просмотр профиля
Re: Nat через ppp
« Ответ #8 : 12 Марта 2010, 17:41:20 »
Спасибо! Это помогло. Проблема заключается в том, что gmail стал открываться жутко долго, как будто бы у меня диал-ап соединение. В чем может быть проблема? Все остальные почтовики, работающие через https работают быстро.
Я говорю на двух языках...на правом и на левом. ;)

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Nat через ppp
« Ответ #9 : 12 Марта 2010, 17:46:47 »
PMTU Discovery похоже не работает на клиенте. Если не получается настроить клиента, то можно прибить гвоздями MSS к PMTU на сервере. Для этого тот файл измени так:
#!/sbin/iptables-restore
*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
COMMIT
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A POSTROUTING -o eth0 -j MASQUERADE
-A POSTROUTING -o ppp0 -j MASQUERADE
COMMIT
*filter
:INPUT ACCEPT [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
-A FORWARD -m conntrack --ctstate NEW -i eth1 -j ACCEPT
COMMIT
#

Оффлайн Vir

  • Автор темы
  • Новичок
  • *
  • Сообщений: 41
  • Все любят жить, но не всех любит жизнь.
    • Просмотр профиля
Re: Nat через ppp
« Ответ #10 : 12 Марта 2010, 17:50:56 »
Сохранил, попробовал:
/etc/network/if-up.d/iptables-init
/etc/network/if-up.d/iptables-init: line 1: *mangle: command not found
/etc/network/if-up.d/iptables-init: line 2: :PREROUTING: command not found
/etc/network/if-up.d/iptables-init: line 3: :INPUT: command not found
/etc/network/if-up.d/iptables-init: line 4: :FORWARD: command not found
/etc/network/if-up.d/iptables-init: line 5: :OUTPUT: command not found
/etc/network/if-up.d/iptables-init: line 6: :POSTROUTING: command not found
/etc/network/if-up.d/iptables-init: line 7: -A: command not found
/etc/network/if-up.d/iptables-init: line 8: COMMIT: command not found
/etc/network/if-up.d/iptables-init: line 9: *nat: command not found
/etc/network/if-up.d/iptables-init: line 10: :PREROUTING: command not found
/etc/network/if-up.d/iptables-init: line 11: :POSTROUTING: command not found
/etc/network/if-up.d/iptables-init: line 12: :OUTPUT: command not found
/etc/network/if-up.d/iptables-init: line 13: -A: command not found
/etc/network/if-up.d/iptables-init: line 14: -A: command not found
/etc/network/if-up.d/iptables-init: line 15: COMMIT: command not found
/etc/network/if-up.d/iptables-init: line 16: *filter: command not found
/etc/network/if-up.d/iptables-init: line 17: :INPUT: command not found
/etc/network/if-up.d/iptables-init: line 18: :FORWARD: command not found
/etc/network/if-up.d/iptables-init: line 19: :OUTPUT: command not found
/etc/network/if-up.d/iptables-init: line 20: -A: command not found
/etc/network/if-up.d/iptables-init: line 21: -A: command not found
/etc/network/if-up.d/iptables-init: line 22: COMMIT: command not found
 
Я говорю на двух языках...на правом и на левом. ;)

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Nat через ppp
« Ответ #11 : 12 Марта 2010, 17:53:45 »
Такое впечатление, что #!/sbin/iptables-restore не хватает.

Оффлайн Vir

  • Автор темы
  • Новичок
  • *
  • Сообщений: 41
  • Все любят жить, но не всех любит жизнь.
    • Просмотр профиля
Re: Nat через ppp
« Ответ #12 : 12 Марта 2010, 17:59:05 »
Спасибо! Стало быстрее, но вложения не прикрепить. В других почтовиках работает. Гугловая почта работает не полностью.
Я говорю на двух языках...на правом и на левом. ;)

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Nat через ppp
« Ответ #13 : 12 Марта 2010, 18:10:14 »
Хм. А если вместо
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu сделать
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1000

Оффлайн Vir

  • Автор темы
  • Новичок
  • *
  • Сообщений: 41
  • Все любят жить, но не всех любит жизнь.
    • Просмотр профиля
Re: Nat через ppp
« Ответ #14 : 12 Марта 2010, 18:21:08 »
Работать стало быстрее, но проблема во флешовом загрузчике и загрузке в целом на гугле. Да и инетрент медленно стал работать. Прослушивание музыки онлайн тепреь через флеш грузиться так же медленно.
Я говорю на двух языках...на правом и на левом. ;)

 

Страница сгенерирована за 0.053 секунд. Запросов: 23.