AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 608099
Accepted
Sanya Snex
Sanya Snex
Asked: 2014-06-27 03:47:57 +0800 CST2014-06-27 03:47:57 +0800 CST 2014-06-27 03:47:57 +0800 CST

是否可以从两个互联网连接访问服务器

  • 772

如何做到这一点:

在此处输入图像描述

有:

  • 森托斯 6.5
  • WAN1 eth0 44.44.44.44(DEFROUTE=yes)
  • WAN2 ppp0 95.95.95.95 (DEFROUTE=no)
  • HTTP 服务器工作且仅在 eth0 中可用
  • DNS 服务器工作,但端口 53 在 eth0 中被阻止
  • ping 仅在 eth0 中可用
  • 客户端可以通过 eth0 访问 HTTP 和 PING
  • ISP 阻塞 eth0 中的 53 端口
  • ISP 在 ppp0 中阻止端口 80

需要:

  • 客户端 PC 必须可以 PING eth0 和 ppp0
  • 客户端 PC 必须可以在 eth0 中保持对 HTTP 的访问
  • 客户端 PC 必须可以访问 ppp0 中的 DNS

我试着做这个,但直到最后才明白怎么做:

echo 2 ppp0_OUT >> /etc/iproute2/rt_tables
ip route add default via 95.95.95.95 dev ppp0 table ppp0_OUT
iptables -A PREROUTING -i ppp0 -t mangle -j MARK --set-mark 2
ip rule add fwmark 2 table ppp0_OUT
ip route flush cache

sysctl -w net.ipv4.conf.eth0.rp_filter=0
sysctl -w net.ipv4.conf.ppp0.rp_filter=0

问题:

1)如何使客户端PC可以同时通过eth1和ppp0访问服务器

2) 客户端 PC 必须可以通过 ppp0 访问 DNS 并通过 eth0 访问 HTTP

linux
  • 1 1 个回答
  • 137 Views

1 个回答

  • Voted
  1. Best Answer
    Sanya Snex
    2014-06-28T02:34:16+08:002014-06-28T02:34:16+08:00

    这是非常简单的答案:)

    只需要:

    • 如果客户端 PC 通过 WAN1 连接,他必须通过 WAN1 得到答案
    • 如果客户端 PC 通过 WAN2 连接,他必须通过 WAN2 得到答案

    答案:WAN1 有选项DEFROUTE=yes,当 WAN1 启动时,他是:

    # ip route 
    ....
    default via 44.44.44.44 dev eth0  proto static 
    

    WAN2没有默认路由!!!我们需要为 WAN2 创建默认路由,它是一个简单的脚本:

    #!/bin/bash
    ###
    # echo 202 out_ppp0 >> /etc/iproute2/rt_tables
    ip route flush table out_ppp0
    ip rule del table out_ppp0
    IP_ppp0=$(/sbin/ifconfig ppp0  | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}')
    
    ip rule add from $IP_ppp0 table out_ppp0
    ip route add default via $IP_ppp0 dev ppp0 table out_ppp0
    
    • 1

相关问题

  • Linux 主机到主机迁移

  • 如何在 Linux 机器上找到有关硬件的详细信息?

  • 如何在 Linux 下监控每个进程的网络 I/O 使用情况?

  • 在 RHEL4 上修改 CUPS 中的现有打印机设置

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve