Использование iptables для маршрутизации всех внутренних данных на tun0 из eth0
Ищу несколько ответов;)
Я управляю Zentyal на воротах. Шлюз также является клиентом OpenVPN для сервера, на котором я бегу из другой страны. Интерфейсы таковы:
Внешний: eth1 (dhcp от модема 192.168.1.2) Внутренний: eth0 (статический 10.1.1.1) OpenVPN: tun0 (с сервера OpenVPN 10.7.0.6)
Я подключил VPN, и он работает. Я могу пинговать сервер через
# ping 10.7.0.1
С шлюза машина.
Это правила, которые у меня есть на сервере, они до сих пор работали нормально
iptables -t nat -A POSTROUTING -i tun0 -o eth0 -j SNAT --to-source # Generated by iptables-save v1.4.8 on Sat Mar 23 04:41:56 2013
*mangle
:PREROUTING ACCEPT [2036011512:705237252333]
:INPUT ACCEPT [332186284:78285843071]
:FORWARD ACCEPT [1703824348:626951360931]
:OUTPUT ACCEPT [405392399:436227187419]
:POSTROUTING ACCEPT [2109216747:1063178548350]
COMMIT
# Completed on Sat Mar 23 04:41:56 2013
# Generated by iptables-save v1.4.8 on Sat Mar 23 04:41:56 2013
*filter
:INPUT ACCEPT [332186284:78285843071]
:FORWARD ACCEPT [1019886723:183138161264]
:OUTPUT ACCEPT [405392397:436227186606]
-A FORWARD -i tun0 -o eth0 -j ACCEPT
-A FORWARD -i eth0 -o tun0 -j ACCEPT
COMMIT
# Completed on Sat Mar 23 04:41:56 2013
# Generated by iptables-save v1.4.8 on Sat Mar 23 04:41:56 2013
*nat
:PREROUTING ACCEPT [12528325:854813836]
:POSTROUTING ACCEPT [2920518:161107345]
:OUTPUT ACCEPT [882245:53661537]
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# Completed on Sat Mar 23 04:41:56 2013
Я не верю, что проблема связана с сервером, так как он работал в прошлом с теми же правилами. Кроме того, если я подключаюсь напрямую к одной машине, то, по-видимому, она отлично работает через NetworkManager.
Вот мой конфиг OpenVPN клиента:
client
dev tun
proto udp
remote <server IP> 1194
resolv-retry infinite
redirect-gateway def1
nobind
user nobody
group nogroup
persist-key
persist-tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/client_home.crt
key /etc/openvpn/client_home.key
script-security 3
ns-cert-type server
comp-lzo
verb 3
mute 20
cipher AES-256-CBC
keysize 256
Итак, теперь я хочу передать всю локальную сеть (от eth0 10.1.1.1/32) через tun0 (openvpn 10.7.0.6). Я не могу заставить tun0 отображаться в Zenyal, поэтому я не могу установить его в качестве шлюза по умолчанию и т. Д.
Может кто-нибудь, пожалуйста, помогите мне написать набор правил iptables для шлюза, чтобы заставить все данные через соединение OpenVPN?
Спасибо, я надеюсь, что смогу разобраться. Знаете, вся эта конфиденциальность начинает нас немного пугать;)