В настоящее время я использую VPN (сделанный битовой маской) для движения только Интернета. Но я хотел бы настроить его так, чтобы два приложения получили доступ к Интернету непосредственно. Существует ли способ сделать это?
$ sudo ip6tables --list-rules
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-N bitmask
-A OUTPUT -j bitmask
-A bitmask -d fe80::/64 -o wlp3s0 -j ACCEPT
-A bitmask -d ff05::c/128 -o wlp3s0 -p udp -m udp --dport 1900 -j RETURN
-A bitmask -d ff02::fb/128 -o wlp3s0 -p udp -m udp --dport 5353 -j RETURN
-A bitmask -p tcp -j REJECT --reject-with icmp6-port-unreachable
-A bitmask -p udp -j REJECT --reject-with icmp6-port-unreachable
$ifconfig
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 303190 bytes 23045786 (23.0 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 303190 bytes 23045786 (23.0 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
tun0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1500
inet 10.41.0.18 netmask 255.255.248.0 destination 10.41.0.18
inet6 fe80::7b5f:9d91:701e:c55 prefixlen 64 scopeid 0x20<link>
inet6 2001:db8:123::1010 prefixlen 64 scopeid 0x0<global>
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 100 (UNSPEC)
RX packets 2419226 bytes 2916699759 (2.9 GB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1562458 bytes 208828031 (208.8 MB)
TX errors 0 dropped 107 overruns 0 carrier 0 collisions 0
wlp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.147 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::b43f:cba:ab11:d9a8 prefixlen 64 scopeid 0x20<link>
ether 24:0a:64:da:d6:eb txqueuelen 1000 (Ethernet)
RX packets 6908650 bytes 3525833381 (3.5 GB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 7751152 bytes 7915813822 (7.9 GB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
$ iwconfig
tun0 no wireless extensions.
lo no wireless extensions.
enp4s0 no wireless extensions.
wlp3s0 IEEE 802.11 ESSID:"ZTE_C5959A"
Mode:Managed Frequency:2.462 GHz Access Point: FC:2D:5E:C5:95:9A
Bit Rate=52 Mb/s Tx-Power=15 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:off
Link Quality=47/70 Signal level=-63 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:6 Invalid misc:62 Missed beacon:0
Это - возможные пространства имен сети использования.
сетевые пространства имен позволяют отдельный IP, таблицу маршрутизации, список сокетов, брандмауэр таблицы отслеживания соединения и другие связанные с сетью ресурсы.
По крайней мере, для решений VPN как Layer3 SSH, OpenVPN и Защитная сетка, так как они используют виртуальный интерфейс для маршрутизации трафика VPN.
В этом упрощенном примере компьютер имеет два интерфейса eth0 и eth1 оба с доступом в Интернет DHCP.
Соединитесь с VPN.
в терминале:
sudo ip netns add not-vpn
# создайте новое сетевое пространство имен
sudo ip link set eth1 netns not-vpn
# помещенный eth1 в новом пространстве имен
sudo ip netns exec not-vpn bash
# введите новое пространство имен с оболочкой
dhclient eth1
# получите IP DHCP для перемещенного интерфейса
curl icanhazip.com
# вихревое приложение возвратит Ваш non-vpn общедоступный IP
В другом терминале:
curl icanhazip.com
вихревое приложение возвратит Ваш IP общественности VPN
предположение, что VPN настроена для маршрутизации всего трафика через него по умолчанию.
Можно добавить маршрут для тех двух приложений, таким образом, они непосредственно соединяются с IP-адресом, Вы хотите (с беспроводной картой как интерфейс и Ваш маршрутизатор как Шлюз), и все другие трафики проходят VPN (добавьте маршрут значения по умолчанию, интерфейс установлен на Ваш интерфейс vpn, в котором показывают ifconfig
и набор Ваш Шлюз к Вашему маршрутизатору и удаляет предыдущий
Можно просто добавить новый маршрут с этой инструкцией
PS: После того, как Вы выключаете свою VPN из-за Вашего нового маршрута по умолчанию, к которому Вы не можете получить доступ к Интернету, таким образом, Ваша VPN должна всегда идти, или необходимо записать предыдущий маршрут по умолчанию, который Вы удалили прежде