Routage et transfert OpenVPN

J'essaie de configurer le démon OpenVPN Dans son réseau, mais il y a des problèmes de routage iptables +.

Voici un bref aperçu de ma configuration: - Le réseau local actuel est sur 192.168.2.0/24, démon OpenVPN fonctionne pour 192.168.2.251

Le démon commence normalement, mais chaque fois que j'engage une connexion des clients, je vois ces messages:

Mon Feb  5 17:41:59 2018 /sbin/ip link set dev tun0 up mtu 1500
Mon Feb 5 17:41:59 2018 /sbin/ip addr add dev tun0 local 10.8.0.6 peer 10.8.0.5
Mon Feb 5 17:41:59 2018 /sbin/ip route add 192.168.2.251/32 dev br0
RTNETLINK answers: File exists
Mon Feb 5 17:41:59 2018 ERROR: Linux route add command failed: external program exited with error status: 2
Mon Feb 5 17:41:59 2018 /sbin/ip route add 0.0.0.0/1 via 10.8.0.5
Mon Feb 5 17:41:59 2018 /sbin/ip route add 128.0.0.0/1 via 10.8.0.5
Mon Feb 5 17:41:59 2018 /sbin/ip route add 10.8.0.1/32 via 10.8.0.5

Premièrement, pourquoi le statut d'erreur 2, Et deuxièmement, pourquoi je vois ajouter un itinéraire lorsque l'itinéraire Push a commenté dans le fichier server.conf démon?

C'est une partie du problème, l'autre partie - Je ne sais pas comment "fusionner" de nouvelles règles iptables Avec mes règles actuelles iptables? Actuellement, j'ai ces règles dans l'ordre suivant (Carte réseau principale - eth0, openvpn - tun0):

$IPT -F INPUT
$IPT -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
<some other="" rules="">
# VPNd rules
$IPT -A INPUT -i eth0 -p udp --dport 1199 -j ACCEPT #openVPNd runs on udp/1199
$IPT -A INPUT -i tun0 -j ACCEPT
$IPT -A FORWARD -i eth0 -j ACCEPT
$IPT -A OUTPUT -o tun0 -j ACCEPT
<some other="" rules="">

net.ipv4.forwarding = 1 Installé dans /etc/sysctl.conf

Maintenant, l'une des conséquences de mon mauvais comportement est que le client se connectant au serveur VPN ne peut pas se connecter à des serveurs en dehors de mon réseau local. (192.168.2.0/24). J'aimerais que mes clients se connectent n'importe où dans mon lien vpn.

Je viens de remarquer que les messages d'erreur ci-dessus semblent apparaître uniquement sur des hôtes clients qui utilisent un réseau de ponts (Certains de mes clients sont également hyperviseurs KVM). DANS OSX, Par exemple, et sur mes machines virtuelles, il n'est pas affiché. Y a-t-il un lien?

Qu'est-ce qui me manque?

iptables -vL production:

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
3975 963K ACCEPT all -- eth0 any anywhere anywhere state RELATED,ESTABLISHED
5 308 ACCEPT tcp -- eth0 any anywhere anywhere tcp dpt:ssh
0 0 ACCEPT tcp -- eth0 any anywhere anywhere tcp dpt:http
0 0 ACCEPT tcp -- eth0 any anywhere anywhere tcp dpt:https
6 492 ACCEPT udp -- eth0 any anywhere anywhere udp dpt:dmidi
0 0 ACCEPT all -- tun0 any anywhere anywhere
0 0 ACCEPT tcp -- eth0 any anywhere anywhere tcp dpt:grcp
0 0 ACCEPT udp -- eth0 any anywhere anywhere udp dpt:25826
2198 432K REJECT all -- eth0 any anywhere anywhere reject-with icmp-port-unreachable

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- eth0 any anywhere anywhere

Chain OUTPUT (policy ACCEPT 1552 packets, 225K bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- any tun0 anywhere anywhere

iptables -t nat -VL production:

Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination

Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination

(Vider?)

Sortie de l'adresse IP du démon VPN: [19: 28: 50 | jfgratton @ vpntst: ~]: ip addr

2: eth0: <broadcast,multicast,up,lower_up> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 52:54:00:5f:f8:44 brd ff:ff:ff:ff:ff:ff
inet 192.168.2.251/24 brd 192.168.2.255 scope global eth0
valid_lft forever preferred_lft forever
3: tun0: <pointopoint,multicast,noarp,up,lower_up> mtu 1500 qdisc pfifo_fast
state UNKNOWN qlen 100
link/none
inet 10.8.0.1/24 brd 10.8.0.255 scope global tun0
valid_lft forever preferred_lft forever

Tous les clients sont sur un / 24 (192.168.2.0). Deux clients, étant dans le même sous-réseau, utilisez des interfaces de pont (br0 au lieu de physique, comme eth0); Je ne pense pas que cela soit important, mais je veux, pour ainsi dire, ne laissez pas la pierre sur la pierre.

Nouvelle sortie:

[20:00:45|root@vpntst:~]: iptables -vL;iptables -t nat -vL
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
212 17577 ACCEPT all -- eth0 any anywhere anywhere state RELATED,ESTABLISHED
1 60 ACCEPT tcp -- eth0 any anywhere anywhere tcp dpt:ssh
0 0 ACCEPT tcp -- eth0 any anywhere anywhere tcp dpt:http
0 0 ACCEPT tcp -- eth0 any anywhere anywhere tcp dpt:https
0 0 ACCEPT udp -- eth0 any anywhere anywhere udp dpt:dmidi
0 0 ACCEPT all -- tun0 any anywhere anywhere
0 0 ACCEPT tcp -- eth0 any anywhere anywhere tcp dpt:grcp
0 0 ACCEPT udp -- eth0 any anywhere anywhere udp dpt:25826
13 2621 REJECT all -- eth0 any anywhere anywhere reject-with icmp-port-unreachable

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- eth0 any anywhere anywhere

Chain OUTPUT (policy ACCEPT 144 packets, 16717 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- any tun0 anywhere anywhere
Chain PREROUTING (policy ACCEPT 20 packets, 3509 bytes)
pkts bytes target prot opt in out source destination

Chain INPUT (policy ACCEPT 1 packets, 60 bytes)
pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 12 packets, 912 bytes)
pkts bytes target prot opt in out source destination

Chain POSTROUTING (policy ACCEPT 12 packets, 912 bytes)
pkts bytes target prot opt in out source destination
0 0 MASQUERADE all -- any eth0 10.8.0.0/24 anywhere

Et mon script de pare-feu: #! / Bin / bash IPT = / sbin / iptables

case "$1" in
start)
$IPT -F INPUT
$IPT -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
$IPT -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
$IPT -A INPUT -i eth0 -p tcp --dport 443 -j ACCEPT
# VPNd rules
$IPT -A INPUT -i eth0 -p udp --dport 1199 -j ACCEPT
$IPT -A INPUT -i tun0 -j ACCEPT
$IPT -A FORWARD -i eth0 -j ACCEPT
$IPT -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
$IPT -A OUTPUT -o tun0 -j ACCEPT

# Other rules
$IPT -A INPUT -i eth0 -p tcp --dport 9123 -j ACCEPT
$IPT -A INPUT -i eth0 -p udp --dport 25826 -j ACCEPT
$IPT -A INPUT -i eth0 -j REJECT
exit 0
;;
stop)
$IPT -F INPUT
exit 0
;;

* )
echo "Usage: /etc/init.d/firewall {start|stop}"
exit 1
;;
esac

Maintenant, j'ai exécuté les instructions d'installation vpnd de
https://chichivica.github.io/2 ... a-26/
. Maintenant, je comprends que ce routage ou quelque chose d'autre n'est pas mentionné. Une chose que j'ai faite, et j'étais sûr que cela soit nécessaire, - Ceci est inclus ipv4 dans /etc/sysctl.conf. Pour le reste, j'ai strictement suivi les instructions sur ce lien, rien de plus.

SERVER.CONF

Voici ma configuration de routage dans server.conf. J'ai même essayé il y a quelques minutes pour commenter la dernière poussée, malheureusement, le résultat est le même:

[9:03:07|root@vpntst:openvpn]: egrep "route|redirect" server.conf|egrep -v ^\#
;push "route 192.168.2.0 255.255.255.0"
;push "route 192.168.20.0 255.255.255.0"
;route 192.168.40.128 255.255.255.248
;route 10.9.0.0 255.255.255.252
push "redirect-gateway def1 bypass-dhcp"

Cela me rend fou :-)
</pointopoint,multicast,noarp,up,lower_up></broadcast,multicast,up,lower_up></some></some>
Invité:

Dominique

Confirmation de:

En fait, ce n'est pas une réponse. Je ne peux pas aller plus loin, car j'ai besoin d'ajouter des itinéraires statiques à mon routeur sortant que mon fournisseur Internet ne me permet pas de faire.

L'affaire est fermée jusqu'à ce que je change le fournisseur

Pour répondre aux questions, connectez-vous ou registre