V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
linus
V2EX  ›  Apache

怎么样让 httpd 工作在网桥透传模式下,所有请求都能经过 httpd?

  •  
  •   linus · 2016-09-28 14:17:51 +08:00 · 2082 次点击
    这是一个创建于 2766 天前的主题,其中的信息可能已经有所发展或是发生改变。
    4 条回复    2016-09-28 14:42:14 +08:00
    BOYPT
        1
    BOYPT  
       2016-09-28 14:23:19 +08:00
    iptables 转发
    calisto
        2
    calisto  
       2016-09-28 14:25:45 +08:00
    @BOYPT DNAT?
    BOYPT
        3
    BOYPT  
       2016-09-28 14:30:16 +08:00
    先搞清楚这些名词

    网桥: 第二层设备,负责网卡的最小工作单位——报文的转发;
    httpd : HTTP 服务端,负责 HTTP 协议,工作在第七层

    可见这两者是不可能工作在一起的。

    如果要实现“无论访问什么地址,都交由一个特定服务器的 httpd 来显示”,需要用 iptables 的 DNAT 转发 80 端口的请求到 httpd 的 80 端口。
    calisto
        4
    calisto  
       2016-09-28 14:42:14 +08:00
    @BOYPT
    iptables -t mangle -A PREROUTING -d 12.12.12.11/32 -p tcp -m tcp --dport 80 -j TPROXY --on-port 18080 --on-ip 0.0.0.0 --tproxy-mark 0x1/0x1

    ip rule
    from all fwmark 0x1 lookup 100

    ip route
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5576 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 02:41 · PVG 10:41 · LAX 19:41 · JFK 22:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.