免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2361 | 回复: 4
打印 上一主题 下一主题

[网络管理] 求助下iptables的设置问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-01-16 15:36 |只看该作者 |倒序浏览
本帖最后由 iamshiyu 于 2013-01-16 15:38 编辑

目前结构如下:
2条入线(连接两个服务商的光电模块),连到1思科路由上,思科1条连接内网的出线。
两个服务商提供的都是172段的直连地址(如172.0.1.2和172.0.2.2),分别分配了16个公网IP和64个公网IP。
运行的路由策略是,凡内网办公IP都走64个IP的那条线(假定公网IP1.0.0.1),凡对外发布的页面都走16个IP那条线(假定公网IP2.0.0.1)。
想用一台双网卡linux服务器替代这台思科路由(近两年工作很不稳定,经常内存溢出然后崩溃重启)。
由于只有双网卡(原先的思科路由也是双网口,设置的子接口),可能出线上需要设一个子接口,然后再设策略路由。
哪位给个思路呢……好久没配iptables了,没思路了。
主要的几个困惑:
1是直连IP的这种情况下,对外映射和nat该怎么个配法?能否举个例子。
2是子接口和策略该怎么个配法,能否根据我给的这些条件搞个出来?
现在我思路很混乱,尤其是子接口、策略路由+直连IP段这几个因素一搅和,更理不清了,多谢各位!

论坛徽章:
1
2015元宵节徽章
日期:2015-03-06 15:50:39
2 [报告]
发表于 2013-01-21 12:12 |只看该作者
本帖最后由 dbsrv 于 2013-01-21 13:05 编辑

首先,linux支持Trunk模式,也可以配置子接口。
比如你的公网接在eth0上
清除eth0地址
ip address add 0.0.0.0 dev eth0

将eth0指定到vlan 2、3中,需要加载802.1q的模块
modprobe 8021q
vconfig add eth0 2
vconfig add eth0 3

为子接口设置IP地址
ip address add 172.0.1.2/26 eth0.2
ip address add 172.0.2.2/28 eth0.3


其次,/etc/iproute2/rt_tables新建一个路由表

255     local
254     main
253     default
0       unspec
#
# local
#1      inr.ruhep
## New Route Table
114     TEST

指定两条路由
ip route add 0/0 via 172.0.1.1
ip route add 0/0 via 172.0.2.1 table 114


ip rules根据源地址指定出口。
ip rule add from $Office_PC pref 23456 table 114

启用转发和nat
echo 1 /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0.2 -s $Office_PC -j SNAT --to 172.0.1.2
iptables -t nat -A POSTROUTING -o eth0.3 -s $Servers -j SNAT --to 172.0.2.2

iptables -t nat -A PREROUTING -i eth0.3 -d 172.0.2.2 -p tcp --dport 80 -j DNAT --to $Server_web

论坛徽章:
0
3 [报告]
发表于 2013-01-23 09:32 |只看该作者
回复 2# dbsrv
多谢多谢,我试试看。

   

论坛徽章:
0
4 [报告]
发表于 2013-03-21 10:10 |只看该作者
本帖最后由 iamshiyu 于 2013-03-21 10:17 编辑

回复 2# dbsrv
目前的尝试
modprobe 8021q
vconfig add em3 2
vconfig add em3 3
ip address add 172.0.1.2/30 brd + dev em3:2
ip address add 172.0.2.2/30 brd + dev em3:3
ip route add 172.0.1.1 dev em3:2 src 172.0.1.2 table 110
ip route add default via 172.0.1.1 table 110
ip route add 172.0.2.1 dev em3:3 src 172.0.2.2 table 120
ip route add default via 172.0.2.1 table 120
ip address add 192.168.255.254/29 brd + dev em4    #内网IP,作为内部网关借口,下面接了个防火墙ip是255.253
ip rule add from 192.168.0.0/16 pref 1000 table 110
ip rule add from 10.0.0.0/8 prfe 990 table 120                  #这个段是内网的服务器群
ip rule add from 192.168.111.12/32 pref 990 table 120     #这个是内网办公室需要映射到外面的服务器
ip rule add from 192.168.112.22/32 pref 990 table 120
ip rule add from 192.168.113.33/32 pref 990 table 110     #这也是内网办公室映射到外面的服务器,但需走另一条线

不知道这个思路对不对,另外后面又犹豫了,设置成这样以后直接iptables就可以nat了吗?
比如172.0.1.1对应的公网IP是210.100.100.101~164,用102~110做nat池子,iptables怎么写?另外有一部分服务器是要映射到172.0.1.1这条线上的,而大部分是映射到172.0.2.1这条线上的,我写的5条ip rule体现的就是这个思路,不知对不对。比如那个192.168.113.33希望映射到172.0.1.1这条线路,使用公网IP为210.100.100.120,又该怎么写?
因为是关键线路,不敢轻易动,希望能尽可能考虑周全,少做切换,所以不敢多做尝试。望谅解。




   

论坛徽章:
0
5 [报告]
发表于 2013-04-01 10:08 |只看该作者
最终还是用了3网卡,直接IPtables+ iprule + iproute解决,没用vconfig,实在没搞清到底怎么搞
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP