En el mismo servidor, en la raíz, obtengo la IP de Internet correcta de la interfaz
root@server:~# curl -s --interface ppp0 ipcheck.com
111.111.111.111root@server:~#
Sin embargo...
Si no es superusuario, obtengo la ip de la ruta / interfaz predeterminada eth0 o eth1 internet ip en lugar de la ip de internet de ppp0 y eso no es lo que espero.
matrix@server:~$ curl -s --interface ppp0 ipcheck.com
222.222.222.222matrix@server:~$
Mi pregunta es ¿por qué diferentes usuarios obtienen diferentes IP / Ruta? Es la misma aplicación, la misma interfaz que he configurado correctamente la ruta ...
En / etc / iproute2 / rt_tables, he agregado
20 isp1
30 isp2
40 ppp0
50 ppp1
60 ppp2
Las primeras 3 líneas de la ruta ip:
default
nexthop via 222.222.222.1 dev eth0 weight 1
nexthop via 222.222.222.2 dev eth1 weight 1
10.200.20.1 dev ppp0 proto kernel scope link src 10.200.21.4
10.200.20.1 dev ppp1 proto kernel scope link src 10.200.21.9
10.200.20.1 dev ppp2 proto kernel scope link src 10.200.21.7
regla ip:
0: from all lookup local
32761: from all fwmark 0x60 lookup ppp2
32762: from all fwmark 0x50 lookup ppp1
32763: from all fwmark 0x40 lookup ppp0
32764: from all fwmark 0x30 lookup ISP2
32765: from all fwmark 0x20 lookup ISP1
32766: from all lookup main
32767: from all lookup default
iptables:
-A PREROUTING -t mangle -i eth0 -m state --state NEW,RELATED,ESTABLISHED -d 222.222.222.222 -j CONNMARK --set-mark 0x20
-A PREROUTING -t mangle -i eth1 -m state --state NEW,RELATED,ESTABLISHED -d 222.222.222.223 -j CONNMARK --set-mark 0x30
-A PREROUTING -t mangle -i br0 -m connmark --mark 0x20 -j CONNMARK --restore-mark
-A PREROUTING -t mangle -i br0 -m connmark --mark 0x30 -j CONNMARK --restore-mark
-A OUTPUT -t mangle -m state --state ESTABLISHED,RELATED -j CONNMARK --restore-mark
-A PREROUTING -t mangle -i ppp0 -m state --state NEW,RELATED,ESTABLISHED -d 10.200.21.4 -j CONNMARK --set-mark 0x40
-A PREROUTING -t mangle -i br0 -m connmark --mark 0x40 -j CONNMARK --restore-mark
-A PREROUTING -t mangle -i ppp1 -m state --state NEW,RELATED,ESTABLISHED -d 10.200.21.9 -j CONNMARK --set-mark 0x50
-A PREROUTING -t mangle -i br0 -m connmark --mark 0x50 -j CONNMARK --restore-mark
-A PREROUTING -t mangle -i ppp2 -m state --state NEW,RELATED,ESTABLISHED -d 10.200.21.7 -j CONNMARK --set-mark 0x60
-A PREROUTING -t mangle -i br0 -m connmark --mark 0x60 -j CONNMARK --restore-mark
-A OUTPUT -t mangle -m state --state ESTABLISHED,RELATED -j CONNMARK --restore-mark
-A POSTROUTING -t nat -o eth0 -j MASQUERADE
-A POSTROUTING -t nat -o eth1 -j MASQUERADE
-A POSTROUTING -t nat -o ppp+ -j MASQUERADE
-A FORWARD -i br0 -o eth0 -j ACCEPT
-A FORWARD -i br0 -o eth1 -j ACCEPT
-A FORWARD -i br0 -o ppp+ -j ACCEPT
-A FORWARD -m state -i eth0 -o br0 --state ESTABLISHED,RELATED -j ACCEPT
-A FORWARD -m state -i eth1 -o br0 --state ESTABLISHED,RELATED -j ACCEPT
-A FORWARD -m state -i ppp+ -o br0 --state ESTABLISHED,RELATED -j ACCEPT
-A FORWARD -i br0 -o br0 -j ACCEPT
Sería útil si nos puede decir algo sobre las direcciones IP devueltas, pero (sin tener suficiente para una respuesta) mi primera suposición sería que vincular a una interfaz específica requiere un nivel de acceso que la cuenta de usuario ordinaria no tiene, Pero la raíz tiene.
—
un CVn
Estoy un poco sorprendido: no tengo un servidor ppp para conectarme, pero con OpenVPN, usando la interfaz virtual
—
MariusMatutiae
tun0
para jugar el mismo juego, las direcciones IP devueltas son idénticas.
No puedo encontrar ninguna documentación al respecto, pero, como usuario, no puede configurar la interfaz.
—
davidbaumann
Proporcione la salida de
—
Daniel B
ip route
yiptables-save
Si alguna de las salidas es incorrecta, díganos cuál y por qué. Si ninguno de los resultados es incorrecto, díganos cuál es el problema real.
—
David Schwartz el