我在具有两个以太网适配器的(虚拟)计算机上运行CentOS 6.3。我的eth0连接到TCP / IP LAN,而eth1连接到DSL调制解调器。该系统旨在用作专用路由器/防火墙,并已设置iptables以执行SNAT,DNAT和所需的过滤。
这工作得很好,但是我更换了DSL调制解调器,不幸的是,新的(更快的)调制解调器经过了傻瓜认证,因此NAT自动进行,并且不允许我将公共IP传递给eth1。我不能容忍双重NAT,因此我进行了一些研究,并读到可以通过在计算机上执行PPPoE来“诱骗”该调制解调器为我的计算机提供公用IP。
因此,我将pppd设置为使用eth1,创建了ppp0连接,然后在自定义iptables配置脚本中替换了eth1。这似乎在一定程度上可以正常工作,但是我必须打开防火墙才能使其正常工作,而且它很脆弱。
我想完全排除所有TCP / IP流量直接路由到eth1的可能性,在此我的“友好”调制解调器会很乐意对其进行NAT,这部分是为了排除故障。
据我所知,PPPoE位于物理接口之下,而不是IP之上,它直接以以太网帧进行交易。因此,为了使pppd正常工作,我什至不必在eth1上配置IP网络,因此在eth1上运行的IP网络只会使事情变得不必要。
这是我发现的地方,愚蠢的我,我不知道如何在Linux上禁用TCP / IP堆栈!我知道在Windows框上,您可以仅取消选中适配器属性中的TCP / IP协议,但是在这里,我正在运行纯文本的CentOS,但我不知道该怎么做。
显然,这不是一个很普遍的愿望,因为我一直在搜索互联网无济于事。以太网适配器是 TCP / IP连接似乎是一个固定的假设。好吧,通常...
谢谢你的帮助!凯文