Я использую 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
// ЭТИ 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
Надеюсь, это кому-то поможет, и всем удачи в будущем!
Вы также можете указать подключаемому модулю Network Manager, чтобы он не маршрутизировал трафик через VPN. Есть вариант под IPv4 Settings
- нажмите кнопку Routes
кнопку, а затем установите флажок рядом с Use this connection only for resources on its network
и посмотрите, работает ли это.
Суранга