После многих часов поиска и устранения неисправностей, поиска потенциальных решений на этом и других сайтах, и я смирился, чтобы попросить совета у моих игроков. Я работаю над маршрутизацией всего сетевого трафика на экземпляре Ubuntu через Cisco VPN в университете. Используя встроенный сетевой менеджер или vpnc, я могу успешно установить соединение с VPN и успешно маршрутизировать трафик на любой университетский IP через VPN. Однако, помимо этих конкретных диапазонов IP-адресов, я не могу придумать какой-либо маршрут, который успешно сопоставит весь сетевой трафик через VPN.
До сих пор я пытался:
добавление маршрута -net 0.0.0.0 gw homeportal dev tun0
добавление маршрута -net 0.0.0.0 tun0
добавление маршрута -net 0.0.0.0 gw 128.122.252.77 dev tun0
route add -net 0.0.0.0 gw 128.122.252.77 dev eth0
iptables -A FORWARD -o tun0 -j ПРИНЯТЬ iptables -A FORWARD -i tun0 -j ПРИНЯТЬ iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
И многие другие глупые, неэффективные вещи, которые я не могу вспомнить достаточно хорошо, чтобы транскрибировать точно.
Кроме того, я пробовал маршрутизировать меньшие диапазоны IP-адресов и конкретные IP-адреса, но безрезультатно. Я не совсем уверен, что происходит не так, как следствия, которые я смог наблюдать, это сбои разрешения имен и сбои маршрутизации трафика через VPN. Что я здесь не так делаю?
Редактировать-
Вот вывод ip route show
после запуска VPN-соединения с VPNC:
по умолчанию через 192.168.1.254 dev eth0 proto static 10.0.0.0/8 dev tun0 scope link 91.230.41.0/24 dev tun0 scope link 128.122.0.0/16 dev tun0 scope link 128.122.252.68 через 192.168.1.254 dev eth0 src 192.168.1.32 128.122.253.46 dev tun0 scope link 128.122.253.79 dev tun0 scope link 172.16.0.0/12 dev tun0 scope link 192.168.0.0/16 dev tun0 scope link 192.168.1.0/24 dev eth0 прото ядро ссылка на канал src 192.168.1.32 метрика 1 193.175.54.0/24 dev tun0 scope link 193.205.158.0/25 dev tun0 scope link 193.206.104.0/24 dev tun0 scope link 195.113.94.0/24 dev tun0 scope link 203.126.200.0/24 dev tun0 scope link 203.174.165.128/25 dev tun0 scope link 212.219.93.0/24 dev tun0 scope link 216.165.0.0/17 dev tun0 scope link
Дополнительная информация-
Я успешно перенаправил произвольный трафик через этот VPN в MS Windows через клиент Cisco AnyConnect с конфигурацией по умолчанию. Вот как выглядит таблица маршрутизации, когда работает клиент AnyConnect (это другой компьютер за тем же маршрутизатором на 192.168.1.254).
Таблица маршрутов IPv4 ================================================== ========================= Активные маршруты: Метрика интерфейса сетевого шлюза сети назначения 0.0.0.0 0.0.0.0 192.168.1.254 192.168.1.13 30 10.0.0.0 255.0.0.0 192.168.128.1 192.168.128.197 2 91.230.41.0 255.255.255.0 192.168.128.1 192.168.128.197 2 127.0.0.0 255.0.0.0 On-link 127.0.0.1 306 127.0.0.1 255.255.255.255 On-link 127.0.0.1 306 127.255.255.255 255.255.255.255 On-link 127.0.0.1 306 128.122.0.0 255.255.0.0 192.168.128.1 192.168.128.197 2 128.122.252.68 255.255.255.255 192.168.1.254 192.168.1.13 31 172.16.0.0 255.240.0.0 192.168.128.1 192.168.128.197 2 192.168.0.0 255.255.0.0 192.168.128.1 192.168.128.197 2 192.168.1.0 255.255.255.0 On-link 192.168.1.13 286 192.168.1.13 255.255.255.255 On-link 192.168.1.13 286 192.168.1.254 255.255.255.255 On-link 192.168.1.13 31 192.168.1.255 255.255.255.255 On-link 192.168.1.13 286 192.168.31.0 255.255.255.0 On-link 192.168.31.1 276 192.168.31.1 255.255.255.255 On-link 192.168.31.1 276 192.168.31.255 255.255.255.255 On-link 192.168.31.1 276 192.168.128.0 255.255.255.0 On-link 192.168.128.197 257 192.168.128.197 255.255.255.255 On-link 192.168.128.197 257 192.168.128.255 255.255.255.255 On-link 192.168.128.197 257 192.168.203.0 255.255.255.0 On-link 192.168.203.1 276 192.168.203.1 255.255.255.255 On-link 192.168.203.1 276 192.168.203.255 255.255.255.255 On-link 192.168.203.1 276 193.175.54.0 255.255.255.0 192.168.128.1 192.168.128.197 2 193.205.158.0 255.255.255.128 192.168.128.1 192.168.128.197 2 193.206.104.0 255.255.255.0 192.168.128.1 192.168.128.197 2 195.113.94.0 255.255.255.0 192.168.128.1 192.168.128.197 2 203.126.200.0 255.255.255.0 192.168.128.1 192.168.128.197 2 203.174.165.128 255.255.255.128 192.168.128.1 192.168.128.197 2 212.219.93.0 255.255.255.0 192.168.128.1 192.168.128.197 2 216.165.0.0 255.255.128.0 192.168.128.1 192.168.128.197 2 224.0.0.0 240.0.0.0 On-link 127.0.0.1 306 224.0.0.0 240.0.0.0 On-link 192.168.1.13 286 224.0.0.0 240.0.0.0 On-link 192.168.203.1 276 224.0.0.0 240.0.0.0 On-link 192.168.31.1 276 224.0.0.0 240.0.0.0 On-link 192.168.128.197 10000 255.255.255.255 255.255.255.255 On-link 127.0.0.1 306 255.255.255.255 255.255.255.255 On-link 192.168.1.13 286 255.255.255.255 255.255.255.255 On-link 192.168.203.1 276 255.255.255.255 255.255.255.255 On-link 192.168.31.1 276 255.255.255.255 255.255.255.255 On-link 192.168.128.197 10000 ================================================== =========================
ip route
, кстати.ip route
команды, я не сталкивался с ней раньше.Ответы:
Ваша локальная сеть - 192.168.1.0/24, как показано этой строкой в вашей таблице маршрутизации:
Ваша сеть VPN 10.0.0.0/8, как показано этой строкой:
В настоящее время ваш маршрутизатор по умолчанию:
это, конечно, то, что вы не хотите, потому что он принадлежит вашей локальной сети: таким образом, все ваши вещи маршрутизируются через ваш локальный шлюз, как будто VPN не существует.
какой маршрут к вашему VPN-провайдеру.
РЕДАКТИРОВАТЬ:
Я не понял, что таблица маршрутизации - это просто таблица, полученная из вашего VPN, без вашего вмешательства. Это может указывать (косвенно), что ваш поставщик услуг желает пересылать только трафик, явно разрешенный в вашей таблице, через интерфейс tun0, и, возможно, предпринял дальнейшие шаги для блокирования всего другого трафика, и в этом случае ваши усилия будут тщетными.
Однако, если ваш провайдер готов перенаправить весь ваш трафик, вам нужно сделать следующее.
Во-первых, вам нужно выяснить, есть ли шлюз, который может принять ваше соединение, с другой стороны, потому что нам нужен его IP-адрес. Я дам вам четыре способа сделать это.
1) Когда компьютер подключен к VPN, попробуйте следующую команду:
Если все идет хорошо, вы должны увидеть ответ, содержащий следующую строку:
xywz - это IP-адрес локального шлюза. Возможно, вам придется отключить VPN после этого теста и, возможно, даже перезагрузить компьютер, потому что мы только что испортили таблицу маршрутизации.
2) В качестве альтернативы вы можете попробовать перейти на один из разрешенных сайтов (те, которые отображаются в вашей таблице маршрутизации как проходящие через интерфейс tun0 ), а затем выполнить команду:
Вы должны получить список устройств, с которыми связались по протоколу ARP, с MAC и IP-адресом; скорее всего, вы получите либо ноль, либо один ответ. Если вы получили один ответ, то это ваш маршрутизатор.
3) Если вы не получили такой ответ, вы можете попробовать с
(что будет очень медленно). Ваш шлюз будет одним из перечисленных, скорее всего, с адресом, оканчивающимся на .1 или .254, если таковой существует.
4) Используйте команду tcpdump:
и увидеть IP-адреса, выбрасываемые командой.
Если вы также не получили правильного ответа на этот тест, это означает, что кто-то действительно затянул винты в своей сети.
Но давайте будем оптимистичны и предположим, что теперь у вас есть кандидатский IP-адрес xwyz для удаленного маршрутизатора. Вам нужно будет удалить шлюз по умолчанию (как sudo!):
добавить новый:
и попробуйте ориентироваться.
Позвольте мне повторить: поскольку ваш провайдер разрешил трафик только на несколько выбранных IP-адресов через свою VPN, возможно, он принял дополнительные меры (= брандмауэр), чтобы не дать умному пользователю принудительно использовать общий трафик через свою VPN. В этом случае вы ничего не можете сделать. Но если он этого не сделал, вышеуказанные шаги должны помочь вам найти решение.
источник
ip addr show dev tun0
reads10: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1412 qdisc pfifo_fast state UNKNOWN group default qlen 500 link/none inet 192.168.128.193/24 brd 192.168.128.255 scope global tun0 valid_lft forever preferred_lft forever
без адреса однорангового узла, который будет наблюдаться. Кроме того, таблица маршрутизации, которую я разместил ранее, не была изменена мной вообще - она была полностью сгенерирована клиентом vpn.Во всех ваших
route
командах отсутствуют маски сетей, поэтому они соответствуют только конкретному0.0.0.0
адресу, а не всему интернету. Так замените0.0.0.0
с0.0.0.0/0
в первой команде вы пытались:ip route add -net 0.0.0.0/0 gw homeportal dev tun0
Может быть одно предупреждение, которое я не уверен, что ваш VPN-клиент решает сам: конечную точку туннеля нужно исключить из маршрутизации через VPN, она должна быть направлена через ваш
eth0
интерфейс. Поэтому, если добавление этого маршрута по умолчанию нарушает вашу VPN, добавьте конкретный маршрут для вашей конечной точки VPN:ip route add <ENDPOINT>/32 dev eth0
источник
ip route
, нет? Кроме того , в то время как это всегда хорошая идея , чтобы добавить сетевые маски, то кажется , чтоroute
предполагает / 0 при добавлении 0.0.0.0