Назад | Перейти на главную страницу

подключен к Centos openvpn, но нет внешнего доступа в Интернет

Я использую Windows 7 для подключения к VPS-серверу под управлением CentOS 6.4.

Во-первых, я прочитал каждый пост и просто не могу найти решение своей проблемы.

Я настроил свой VPN-сервер с помощью openvpn, и, наконец, он заработал после четырех месяцев попыток ...

поэтому мне нужно подключиться к моему серверу, который является прорывом, ОДНАКО у меня нет доступа к Интернету :( Я не уверен, что вам всем нужно увидеть, чтобы иметь возможность помочь, но я опубликую то, что, как я знаю, может быть актуальным

насколько я понимаю, я правильно настроил openvpn, так как могу успешно подключиться к серверу

Я не знаю, какой брандмауэр использую, думаю, он называется iptables

iptables

# Generated by iptables-save v1.4.7 on Thu Feb 13 17:10:07 2014
*nat
:PREROUTING ACCEPT [721:50130]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
COMMIT
# Completed on Thu Feb 13 17:10:07 2014
# Generated by iptables-save v1.4.7 on Thu Feb 13 17:10:07 2014
*filter
:INPUT DROP [886:120871]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [1209:156538]
-A INPUT -p udp --dport 1194 -j ACCEPT
-A INPUT -i tun+ -j ACCEPT
-A FORWARD -i tun+ -j ACCEPT
-A OUTPUT -m state --state NEW -o eth0 -j ACCEPT
-A FORWARD -m state --state NEW -o eth0 -j ACCEPT
-A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -m comment --comment "SSH" -j ACCEPT
-A INPUT -p tcp -m tcp --dport 5252 -m comment --comment "SecureSSH" -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -m state --state NEW,RELATED,ESTABLISHED$
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -p icmp -m icmp --icmp-type 0 -m state --state RELATED,ESTABLISHED -j$
COMMIT
# Completed on Thu Feb 13 17:10:07 2014

и

ifconfig

eth0      Link encap:Ethernet  HWaddr 00:1D:D8:B7:22:17
          inet addr:41.185.26.95  Bcast:41.185.26.255  Mask:255.255.255.0
          inet6 addr: fe80::21d:d8ff:feb7:2217/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6598 errors:0 dropped:0 overruns:0 frame:0
          TX packets:464 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:545682 (532.8 KiB)  TX bytes:51265 (50.0 KiB)

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: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)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.8.0.1  P-t-P:10.8.0.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:141 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:7352 (7.1 KiB)  TX bytes:0 (0.0 b)

если кому-то еще что-то нужно, просто спросите, я тут очень борюсь, не знаю, что еще делать ...

Если у кого-то есть предложение, я все еще новичок в Linux, поэтому, пожалуйста, объясните, что мне нужно сделать, а также при необходимости дайте код, я был бы очень признателен

заранее спасибо

я отредактировал свои iptables :)

# Generated by iptables-save v1.4.7 on Thu Feb 13 17:10:07 2014
*nat
:PREROUTING ACCEPT [721:50130]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
COMMIT
# Completed on Thu Feb 13 17:10:07 2014
# Generated by iptables-save v1.4.7 on Thu Feb 13 17:10:07 2014
*filter
:INPUT DROP [886:120871]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [1209:156538]
-A INPUT -p tcp --dport 443 -j ACCEPT
-A INPUT -i tun0 -j ACCEPT
-A FORWARD -i tun0 -o eth0 -j ACCEPT
-A FORWARD -i eth0 -o tun0 -j ACCEPT
-A OUTPUT -m state --state NEW -o eth0 -j ACCEPT
-A FORWARD -m state --state NEW -o eth0 -j ACCEPT
-A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -m comment --comment "SSH" -j ACCEPT
-A INPUT -p tcp -m tcp --dport 5252 -m comment --comment "SecureSSH" -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -m state --state NEW,RELATED,ESTABLISHED -j A$
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -p icmp -m icmp --icmp-type 0 -m state --state RELATED,ESTABLISHED -j ACCE$
COMMIT
# Completed on Thu Feb 13 17:10:07 2014

РАБОТАЕТ!!!

Поскольку вы не упомянули об этом, стоит попробовать ... вы включили пересылку ipv4?

sysctl net.ipv4.ip_forward=1

и если это работает, отредактируйте /etc/sysctl.conf и добавьте или отредактируйте

# Controls IP packet forwarding
net.ipv4.ip_forward =1    

Также убедитесь, что вы отправляете подходящий маршрут с вашего сервера,

push "redirect-gateway"

или

push "redirect-gateway def1"

Доброго времени суток всем,

Я НАПИСАЮ КАК «РУКОВОДСТВО» ДЛЯ ТЕХ, КТО ИЩЕТ ПОМОЩИ С IPTABLES.

Я экспериментировал с разными правилами, и после множества прослушиваний и сбросов iptables я выяснил, а также получил некоторое понимание того, почему у меня не было доступа в Интернет / пропускной способности от tun0 до интерфейса eth0

/ и т. д. / sysconfig / iptables

# Generated by iptables-save v1.4.7 on Thu Feb 13 17:10:07 2014

// Я говорю с поправкой, но NAT просто направляет любые пакеты ДО прохождения через брандмауэр, так что в основном, поскольку ВСЕ пакеты идут на сервер - следовательно, он должен пройти через брандмауэр, однако вы можете указать серверу «разместить» эти пакеты на разные интерфейсы (например, eth0, tun0, wlan0)

*nat

:PREROUTING ACCEPT [721:50130]

// принимает все пакеты от любого ВНЕШНЕГО источника и не направляет ни к какому конкретному интерфейсу (так же, как фильтр INPUT)

:POSTROUTING ACCEPT [0:0]

// принимает все пакеты от любого источника INSIDE IP RANGE (10.8.0.0/24) и направляет их на интерфейс eth0 как OUTPUT (то же, что и фильтр FORWARD)

:OUTPUT ACCEPT [0:0]

// принимает все пакеты из любого ВНУТРЕННЕГО источника во ВНЕШНИЙ и не направляет ни к какому конкретному интерфейсу (так же, как фильтр OUTPUT)

-A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

// добавляем правило для отправки всего постмаршрутного трафика из-за брандмауэра с устройства с IP-адресом в диапазоне 10.8.0.0/24 (включая все пакеты, так как не было добавлено --sport) к интерфейсу eth0 (интерфейс с живым интернет-соединением для сервера)

COMMIT

# Completed on Thu Feb 13 17:10:07 2014

# Generated by iptables-save v1.4.7 on Thu Feb 13 17:10:07 2014

*filter

// все, что делает фильтр, это сортирует пакеты по группам (на основе номеров портов) и пропускает определенные пакеты с подходящими номерами портов, а также разрешает определенные пакеты с определенных IP-адресов

// ПРИМЕЧАНИЕ: фильтр работает со стандартной политикой ACCEPT / DROP, короче (наиболее часто используемые параметры), пакеты будут отбрасываться в зависимости от их источника / откуда они приходят, НО, так же, как у вас есть правила для NAT, поэтому у вас также будут правила для фильтра

:INPUT DROP [886:120871]

// Все пакеты, ПОХОДЯЩИЕ НА сервер, будут отброшены / проигнорированы

:FORWARD DROP [0:0]

// Все пакеты, которые необходимо пересылать между интерфейсами сервера, будут отброшены / игнорируются

:OUTPUT ACCEPT [1209:156538]

// Сервер знает, что он должен отбросить все INPUT / входящие и FORWARD / передаваемые пакеты, НО все эти правила являются исключениями из указанной политики, поэтому эти исключения будут перечислены ниже

// Все пакеты, исходящие с сервера, будут приняты / разрешены

-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT

// Разрешить все пакеты со следующими критериями: входящие с порта 443 (порт HTTPS) по протоколу TCP

-A INPUT -i tun0 -j ACCEPT

// Разрешить все пакеты со следующими критериями: входящие с интерфейса tun0 (ваш интерфейс VPN)


-A FORWARD -i tun0 -o eth0 -j ACCEPT

// Разрешить все пакеты со следующими критериями: передать все пакеты с интерфейса tun0 на интерфейс eth0

-A FORWARD -i eth0 -o tun0 -j ACCEPT

// Разрешить все пакеты со следующими критериями: передать все пакеты с интерфейса eth0 на интерфейс tun0

// ЭТИ 2 ПРАВИЛА ОЧЕНЬ ВАЖНЫ, чтобы позволить вашим клиентам, подключающимся к вашему серверу openvpn, иметь доступ в Интернет, без них вы сможете подключиться, но не будете иметь доступа к Интернету с помощью openvpn

-A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

// Разрешить все пакеты со следующими критериями: все пакеты, относящиеся к существующим соединениям и / или установленным соединениям между интерфейсами, принять их

-A INPUT -p tcp -m tcp --dport 22 -m comment --comment "SSH" -j ACCEPT

// Разрешить все пакеты со следующими критериями: входящие пакеты на TCP-порт 22 и добавить комментарий "SSH"

-A INPUT -p tcp -m tcp --dport 5252 -m comment --comment "SecureSSH" -j ACCEPT

// Разрешить все пакеты со следующими критериями: входящие пакеты на TCP-порт 5252 и добавить комментарий "SecureSSH"

-A INPUT -p icmp -m icmp --icmp-type 8 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT

// Разрешить все пакеты со следующими критериями: разрешить все входящие новые, связанные или установленные запросы эхо / пинга

-A OUTPUT -p icmp -m icmp --icmp-type 0 -m state --state RELATED,ESTABLISHED -j ACCEPT

// Разрешить все пакеты со следующими критериями: разрешить выдачу всех новых, связанных или установленных ответов эхо / пинга

// ПОСМОТРЕТЬ ССЫЛКУ ДЛЯ СПИСКА ОТВЕТОВ / ТИПОВ ЗАПРОСОВ / КОДОВ - http://www.faqs.org/docs/iptables/icmptypes.html

-A INPUT -i lo -j ACCEPT

// Разрешить все пакеты со следующими критериями: входящие с localhost

COMMIT

Завершено 13.02.2014 17:10:07 2014

Надеюсь, это кому-то поможет, и всем удачи в будущем!

Вы также можете указать подключаемому модулю Network Manager, чтобы он не маршрутизировал трафик через VPN. Есть вариант под IPv4 Settings - нажмите кнопку Routes кнопку, а затем установите флажок рядом с Use this connection only for resources on its network и посмотрите, работает ли это.

Суранга