设为首页 收藏本站
查看: 484|回复: 0

[经验分享] centos上实现动态路由和NAT功能

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-1-30 09:30:39 | 显示全部楼层 |阅读模式
一、服务器配置:
1、CPU:core 4 内存:8G 硬盘:146G*4硬盘(raid5)
二、系统环境配置:
1、 系统版本:Centos6.5 64位
2、 安装环境:最小化安装,只装基本包
3、 安全加固:禁用root直接远程ssh、改变ssh端口为22909、禁用ctrl+atl+del重启
   关闭selinux、host.allow只允许内网访问
三、服务配置:
1、安装并且配置quagga实现动态路由功能
  (1)安装quagga:
#yum –y install quagga telnet       yum安装动态路由软件和telnet客户端
   (2)配置quagga:
#cp/etc/quagga/zebra.conf{.sample,}   从模板复制生成主配置文件
#cp/etc/quagga/bgpd.conf{.sample,}   从模板复制生成bgp配置文件
#chkconfig bgpd on  &&  chkconfig zebra on   设成开机自起
#service zebra start            启动quagga主服务
#service bgpd start             启动bgp服务
   (3)配置动态路由:
       #telnet 127.0.0.1 2601     登录路由软件
       User Access Verification
Password:           初始密码zebra,改用户密码命令password 密码
Router>en
Password:                         初始密码zebra,改特权密码命令enable password 密码
Router# conft         命令基本同ios,密码加密service password-encryption
Router(config)#interface eth0
Router(config-if)#ip address 192.168.1.161/24        设置内网接口ip
Router(config-if)#no shutdown
Router(config-if)#exit
Router(config)#interface eth1            
Router(config-if)#ip address 1.1.1.1/24              设置外网接口ip
Router(config-if)#no shutdown
Router#write                                   保存设置
#service zebra restart                         重启服务
# telnet127.0.0.1 2605     登录BGP服务
Password:                                    初始密码zebra
bgpd>                                        同思科配置bgp命令相同,不做累述了
#service bgpd restart       重启bgp服务
2、配置NAT:
       #iptables -t nat -A POSTROUTING -m iprange --src-range 192.168.1.161-192.168.1.168 -oeth1 -j SNAT --to 1.1.1.1           NAT转换规则,基于实验环境,生产环境时需要微调
       #service iptables save            保存配置
       #chkconfig iptables on      确保iptables开机启动
       #cat/proc/net/nf_conntrack   查看NAT链接跟踪,前半为发出包,后半为期望回应的包
1
ipv4    2 icmp     1 5 src=192.168.1.168dst=1.1.1.2 type=8 code=0 id=39946 src=1.1.1.2 dst=1.1.1.1 type=0 code=0id=39946 mark=0 secmark=0 use=2



3、编写脚本生成NAT的log日志:
       #vim nat.sh      创建shell脚本
       #!/bin/bash
1
2
3
4
while :
do echo "`date +'%F  %T'` `cat /proc/net/nf_conntrack |sed -n '/E/!p'`" >> /root/nf.log
    sleep 10
done



   #less /root/nf.log   查看log日志格式如下
1
2014-09-10  14:33:21 ipv4     2 icmp     1 18 src=192.168.1.168 dst=1.1.1.2 type=8code=0 id=28175 src=1.1.1.2 dst=1.1.1.1 type=0 code=0 id=28175 mark=0 secmark=0use=2



      #vim /root/netlook.sh  建查询脚本

1
2
  #!/bin/bash
cat/root/nf.log |awk '{print $1,$2,$5,$7,$8,$9,$10,$14,$15}' > natlook.txt



#less /root/natlook.txt        运行后显示如下,其中第二个dst是NAT后IP

1
2014-09-1014:33:11 icmp 28 src=192.168.1.168 dst=1.1.1.2 type=8 dst=1.1.1.1 type=0




查看当前连接总数   #cat /proc/sys/net/netfilter/nf_conntrack_count
调最大连接数           #vim /etc/sysctl.conf
                    net.netfilter.nf_conntrack_max = 6100000
                    net.netfilter.nf_conntrack_tcp_timeout_established = 1200
刷新              #sysctl -p



注:此文档基于实验,真正部署于服务器中时,shell脚本部分需要根据实际数据调整改进


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-41726-1-1.html 上篇帖子: Linux加密、解密安全通信详解 下篇帖子: ubuntu 12.04 下配置nvc以共享桌面到windows 动态
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表