В настоящее время я пытаюсь направить весь входящий и исходящий сетевой трафик в / из приложений, прослушивающих туннель OpenVPN tun1 через указанный туннель.
Вот мои устройства: tun0
- это сервер OpenVPN, работающий на машине, который обеспечивает доступ к локальной сети машины для удаленных машин. tun1
- это клиент OpenVPN для удаленного сервера.
# ifconfig
eth0 Link encap:Ethernet HWaddr 00:1c:c0:d7:98:1c
inet addr:192.168.178.9 Bcast:192.168.178.255 Mask:255.255.255.0
inet6 addr: fe80::21c:c0ff:fed7:981c/64 Scope:Link
UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1
RX packets:103987444 errors:0 dropped:0 overruns:0 frame:0
TX packets:161412265 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:583178850 (556.1 MiB) TX bytes:1006632339 (959.9 MiB)
Interrupt:43 Base address:0x8000
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:505197 errors:0 dropped:0 overruns:0 frame:0
TX packets:505197 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:91836367 (87.5 MiB) TX bytes:91836367 (87.5 MiB)
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.9.8.1 P-t-P:10.9.8.2 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:4 errors:0 dropped:0 overruns:0 frame:0
TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:272 (272.0 B) TX bytes:960 (960.0 B)
tun1 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.10 P-t-P:10.8.0.9 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:7 errors:0 dropped:0 overruns:0 frame:0
TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:588 (588.0 B) TX bytes:588 (588.0 B)
Вот текущие активные маршруты:
# ip route show table main
default via 192.168.178.1 dev eth0
10.8.0.1 via 10.8.0.9 dev tun1
10.8.0.9 dev tun1 proto kernel scope link src 10.8.0.10
10.9.8.0/24 via 10.9.8.2 dev tun0
10.9.8.2 dev tun0 proto kernel scope link src 10.9.8.1
192.168.178.0/24 dev eth0 proto kernel scope link src 192.168.178.9
После некоторых исследований я узнал, что мне пришлось использовать "политику маршрутизации" для направления всего трафика на tun1 через другой шлюз (10.8.0.1). Поэтому я создал новую таблицу "tun1" и попытался ее настроить.
# echo "1 tun1tbl" >> /etc/iproute2/rt_tables
# ip route add 10.8.0.0/24 dev tun1 src 10.8.0.10 table tun1tbl
# ip route add default via 10.8.0.1 dev tun1 table tun1tbl
RTNETLINK answers: No such process
Почему я не могу установить маршрут по умолчанию для этого устройства / таблицы?
- edit: я только что нашел другое потенциальное решение, использующее только route
, но оно терпит неудачу с похожей ошибкой:
# route add default gw 10.8.0.1 dev tun1
SIOCADDRT: No such process