V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
GNiux
V2EX  ›  问与答

关于网关的 iptables 设置问题 求助 — 谢

  •  
  •   GNiux · 2016-01-31 15:40:14 +08:00 via iPhone · 2679 次点击
    这是一个创建于 3224 天前的主题,其中的信息可能已经有所发展或是发生改变。
    求助:想设局域网中的 pi 为 gateway, IP 192.168.1.110.. 路由器为 192.168.1.1 DHCP 在路由器上并设 gateway 为 pi 的 192.168.1.110 。
    但实际局域网里的主机无法联通外网,内网可以。
    Pi 的 iptables 为:

    -A FORWARD -s 192.168.1.0/24 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
    -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE

    不知 iptables 设对没有?
    12 条回复    2016-02-01 19:14:53 +08:00
    izoabr
        1
    izoabr  
       2016-01-31 17:32:45 +08:00   ❤️ 1
    哪 PI 做单臂路由,想干啥呀?中间做啥手脚?

    检查下 IP 转发

    echo "1" >/proc/sys/net/ipv4/ip_forward
    fangdingjun
        2
    fangdingjun  
       2016-01-31 18:50:33 +08:00 via Android   ❤️ 1
    我就是这样用的, TP-Link 的路由器做交换机, PI 拨号,拨 vpn, 做 SLAAC

    @izoabr
    GNiux
        3
    GNiux  
    OP
       2016-01-31 23:06:17 +08:00 via iPad
    @izoabr
    @fangdingjun
    我搞掂啦 hurray!
    用来做防火墙啊。 iptables FORWARD :

    -s 192.168.1.0/24 -p tcp -j ACCEPT
    ..............-p udp

    POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE (还是 SNAT ?)

    (不知是不是都是必要的…)

    折腾一天多。。。 pi 只有一块网卡,后来才知道可以搞多 ip 地址,:)
    中间还贪玩装了 freeBSD 、 ANDROID-x86 ……
    hzqim
        4
    hzqim  
       2016-01-31 23:43:54 +08:00
    @fangdingjun 请问 pi 只有一个网口,既要拨号又要连接交换机,网络拓扑图是怎么的?谢谢。
    izoabr
        5
    izoabr  
       2016-02-01 08:42:50 +08:00
    @hzqim 虚拟的,甚至都都不需要多个 IP ,单 IP ,单臂一样路由。
    路由器下面好几个主机,只是其中一个主机顶替路由器做高级点的路由。

    至于拓扑,可以看看『 ARP 欺骗』的拓扑,一毛一样
    izoabr
        6
    izoabr  
       2016-02-01 08:45:55 +08:00   ❤️ 1
    @GNiux MASQUERADE 肯定是要的
    其次 FORWARD 链你也别折腾策略了,直接默认都 ACCEPT ,都放过去就得了,有那点计算资源别浪费,内网交换有什么好防护的呀。

    关键点,就两个,如果 FORWARD 链没有 DENY ,那就做 MASQUERADE ,以及打开 IP 转发。你那个-o eth0 参数都没必要其实。
    fangdingjun
        7
    fangdingjun  
       2016-02-01 09:18:50 +08:00   ❤️ 2
    @hzqim
    把插在路由器 WAN 口上的那根线插在 LAN 口上, PI 就可以拨号了
    GNiux
        8
    GNiux  
    OP
       2016-02-01 09:49:27 +08:00 via iPhone
    @izoabr 对头,学习了😊
    izoabr
        9
    izoabr  
       2016-02-01 09:52:19 +08:00
    @fangdingjun 如果运营商不管的话,你会发现其他任何终端都可以拨号,特别爽,人工多拨走了
    hzqim
        10
    hzqim  
       2016-02-01 12:07:03 +08:00
    @fangdingjun 请问 PI 拨号后再通过路由器的 LAN 口共享给其它终端访问网络吗?
    fangdingjun
        11
    fangdingjun  
       2016-02-01 12:38:14 +08:00   ❤️ 1
    @hzqim
    是的, PI 设置成路由模式,其它终端的网关指向 PI
    此时路由器的作用就是一交换机


    @izoabr
    我这里不支持多拨,并且一个终端拨号断开后,另外一个 5 分钟之后才能拨号
    GNiux
        12
    GNiux  
    OP
       2016-02-01 19:14:53 +08:00 via iPhone
    @fangdingjun
    @hzqim
    @izoabr
    呃…我才知道 做网关的话其实不必做 nat 转发吧,只要 iptables FORWARD 放规则。是这样呢?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3467 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 00:08 · PVG 08:08 · LAX 16:08 · JFK 19:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.