2 votes

Un port sur wifi, l'autre sur réseau local

Je travaille dans un endroit où mon imap pour le courrier électronique (utilisant thunderbird) n'est ouvert que par wifi. Le reste ne fonctionne qu'en filaire (et c'est de toute façon plus rapide). Je ne sais pas s'il est possible d'utiliser le port imap pour le smtp 993 et 465 sur le wifi et tous les autres sur le filaire, lorsque le wifi et le filaire sont tous deux connectés. Et seulement pour cet endroit d'ailleurs (donc probablement un lot à défaire et à refaire). J'utilise ubuntu 14.04 desktop (sur ordinateur portable).

0voto

2707974 Points 9957

Le problème peut être résolu en ajoutant des routes supplémentaires basées sur la destination.

Du terminal

sudo ip route add ip_address_mail_server dev wlan0

Cela peut être fait en modifiant la connexion dans /etc/NetworkManager/system-connections/connection_name

sudo nano /etc/NetworkManager/system-connections/connection_name

[connection]
id=Auto XXXX
uuid=f4a27a71-202f-45ac-bc58-59a55600f515
type=802-11-wireless

[802-11-wireless]
ssid=XXXX
mode=infrastructure
mac-address=18:CF:5E:23:2A:0A
security=802-11-wireless-security

[802-11-wireless-security]
key-mgmt=wpa-psk
auth-alg=open
psk=yyyyyyyyy

[ipv4]
method=auto
routes1=xxx.xxx.xxx.xxx;32;yyy.yyy.yyy.yyy;0;

[ipv6]
method=auto

xxx.xxx.xxx.xxx - représente l'adresse IP du serveur de messagerie

yyy.yyy.yyy.yyy - représente la passerelle pour l'interface wlan0

Édition 1

La deuxième méthode est plus précise mais aussi plus compliquée

Commençons par l'iptable. Nous prendrons ici smtp comme service de routage. Utiliser mangle d'iptable pour modifier la table smtp paquets.

  sudo iptables -t mangle -A OUTPUT -p tcp –dport 993 -j MARK –set-mark 0×1

Nous marquons tous les paquets avec le port de destination 993 comme "0×1 .

Sauvegardez et redémarrez iptables .

service iptables save
service iptables restart

Pour supprimer cette entrée de iptables nous pouvons utiliser -D au lieu de -A .

Ensuite, créez une nouvelle table de routage IP dans /etc/iproute2/rt_table en donnant simplement une entrée

100 smtp

Règle d'écriture pour smtp paquets.

ip rule add fwmark 0×1 lookup smtp

Ajouter une route à la nouvelle table smtp. Ici, nous utiliserons '192.168.1.1 comme passerelle pour smtp . Tous les autres trafics passeront par le passeront par la passerelle par défaut, comme le montre la commande IP route show.

Nous copions toutes les entrées à l'exception de l'entrée de la passerelle par défaut de la table principale.

 sudo ip route show table main | grep -Ev ^default | while read ROUTE ; do ip route add table sshtable $ROUTE; done

Ajouter une entrée de passerelle par défaut pour smtp paquets vers le tableau smtp

  sudo ip route add default via 192.168.1.1 table smtp

Utilisation ip route show table smtp to show all routes at smtp`.

Voilà, c'est fait !!!

Répétez tout pour imap sur le port 465 .

0voto

Karamba Points 1

Tout d'abord, assurez-vous que vous avez le iproute installé. Si vous disposez de la commande ip, vous êtes prêt.

Editer /etc/iproute2/rt_tables et ajoutez un nouveau tableau en ajoutant la ligne suivante :

200 wlan-route

Vous devez ensuite configurer votre nouvelle table de routage nommée wlan-route avec une passerelle par défaut et créer des règles pour envoyer conditionnellement du trafic à cette table. Je suppose que votre passerelle par défaut est 192.168.0.1. Naturellement, cela doit correspondre à votre réseau réel, et pas seulement à mes suppositions.

ip route add default via 192.168.0.1 dev wlan0 table wlan-route
ip rule add fwmark 0x1 table wlan-route

Votre script annoté final ressemblerait à ceci :

# Populate secondary routing table
ip route add default via 192.168.0.1 dev wlan0 table wlan-route
# Anything with this fwmark will use the secondary routing table
ip rule add fwmark 0x1 table wlan-route
# Mark these packets so that iproute can route it through wlan-route
iptables -A OUTPUT -t mangle -o eth1 -p tcp --dport 993 -j MARK --set-mark 1
# now rewrite the src-addr
iptables -A POSTROUTING -t nat -o wlan0 -p tcp --dport 993 -j SNAT --to 192.168.0.2

ce script envoie tout trafic sur le port 993 via wlan0

source

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X