我有两个问题。
问题 1:我的 debian 机器有接口 eth3,ip 192.168.57.28。如果有人尝试连接到 192.168.57.28:1234,我该如何将请求重定向到另一台机器:192.168.57.25:80?
问题 2:如果我的 debian 机器有两个接口:带有 192.168.57.28 的 eth3 和带有一些动态 IP 的 ppp0,并且有人尝试通过端口 1234 上的 ppp0 进行连接,我该如何将请求重定向到 192.168.57.25:80?
我试过这个:
$ iptables -t nat -A PREROUTING -p tcp --dport 1234 -j DNAT --to-destination 192.168.57.25:80
$ echo 1 > /proc/sys/net/ipv4/ip_forward
Run Code Online (Sandbox Code Playgroud)
但它不起作用。
我有一个 pptp VPN 链接从我的(debian)linux 服务器拨号到远程站点的 ISA2003 服务器。
(两端)的互联网连接有点不稳定,所以我写了一个小脚本,pon myvpnlink如果它检测到链接已经断开就调用。
如果我从 CLI 运行该脚本,它可以正常工作,但如果它通过 cron 调用,则 pon 调用似乎失败。
我已经在 bash 和 perl 中重新编写了这个,并且每个都有相同的问题。脚本执行后,它可以判断 VPN 链接当前是开启还是关闭,它调用pon哪个调用 pppd,哪个连接失败。如果我然后从 CLI 执行脚本就好了。
任何想法将不胜感激 - 现在正在做我的盒子。
#Syslog (on a failure):
Dec 30 17:02:01 LogServer /USR/SBIN/CRON[4530]: (root) CMD (/bin/bash /root/scripts/vpnup.bash >> /root/scripts/vpn.log)
Dec 30 17:02:01 LogServer pppd[4542]: pppd 2.4.4 started by root, uid 0
Dec 30 17:02:01 LogServer pppd[4542]: Couldn't get channel number: Input/output error
Dec 30 17:02:01 LogServer pppd[4542]: Exit.
#Cron Line
* …Run Code Online (Sandbox Code Playgroud) 由于我最近一直在做很多 IP 摄像机的工作,所以真正长距离的东西会出现只是时间问题,超出了 cat5e/cat6 电缆的覆盖范围。我现在的客户需要在他的庄园周边安装一些 IP 摄像机,还要将主屋与两座附属建筑相连,主屋旁边有一个宾馆,以及大约 400 米外的人员铺位。
现在需要说的是,我的客户已经明确(并反复)表示不考虑无线解决方案。
我的行动计划是为摄像机使用多模光纤电缆,以及以太网到光纤的媒体转换器。我会避免这种情况,但从房子到庄园周边的距离从 100 米到近一公里不等。我算不上是光纤专家,但我以前的工作在这种简单的安装方面有很好的经验。
对于实际问题:
由于我无论如何都会将光纤用于人员铺位,使用 PPP 而不是以太网进行链接有什么好处吗?
我做了一些研究,或多或少地知道 PPP 提供了什么。但是,我在任何情况下都不需要协议的任何更高级的功能,如多链路、身份验证、压缩等。由于光纤将被掩埋,因此几乎涵盖了安全性。所有链接都是点对点的,不需要压缩。
还有,有什么理由选择 PPP 而不是以太网吗?我不反对一点(甚至更多)学习,因为我有很长的时间框架。我需要做得非常好,而且这里要“干净”,所以我需要最好的选择。
如果你能指点我更多的阅读,或者一些帮助我选择的建议,我将不胜感激。
Debian 服务器具有eth0, eth1. eth2,ppp0设备:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether xx:yy:zz:yy:xx:yy brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether xx:yy:zz:yy:xx:yy brd ff:ff:ff:ff:ff:ff
4: eth2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
link/ether xx:yy:zz:yy:xx:yy brd ff:ff:ff:ff:ff:ff
63: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1492 qdisc pfifo_fast state UNKNOWN qlen 3
link/ppp
Run Code Online (Sandbox Code Playgroud)
到处都启用转发:
/proc/sys/net/ipv6/conf ~
all/forwarding=1 default/forwarding=1
eth0/forwarding=1 eth1/forwarding=1
eth2/forwarding=1 ppp0/forwarding=1
Run Code Online (Sandbox Code Playgroud)
并且 autoconf 也被激活:
/proc/sys/net/ipv6/conf …Run Code Online (Sandbox Code Playgroud)