公司内部Linux网关搭建

最近对公司网络做了一次小小的调整,启用linux做网关替换原有的路由器,主要原因有3:

1.对实时流量的监控

2.性能需求,发现用路由器的话如果公司内部人员开启BT等p2p软件,连接数巨多,路由器性能 会下降不少

3.vpn的需求,公司内部有OA,同时管理人员要通过vpn连接管理服务器。所以建立了pptp的vpn

条件:网关服务器装两块网卡 eth0:外网卡 eth1:内网卡

相关服务及软件:

1.dhcp服务:dhcpd包,系统自带rpm

2.流量监控工具:iptraf, 系统自带rpm

3.vpn:pptpd包,网上下载的rpm包

4.包转发,地址映射,防火墙规则:用iptables来实现

dhcp配置:
#cat /etc/dhcpd.conf
allow booting;
allow bootp;
ddns-update-style interim;
ignore client-updates;
default-lease-time 86400;
max-lease-time 259200;
subnet 192.168.1.0 netmask 255.255.255.0 {
                                           option routers 192.168.1.1;
                                           option ntp-servers 192.168.1.1;
                                           option subnet-mask 255.255.255.0;
                                           option domain-name-servers 202.106.0.20,202.106.196.115;
                                           range 192.168.1.100 192.168.1.200;
                                           next-server 192.168.1.2;
                                           filename "pxelinux.0";
}

#cat /etc/sysconfig/dhcpd

DHCPDARGS=eth1

=====================================================================

pptpd配置:
#cat /etc/pptpd.conf | sed -e /^#/d -e /^$/d
option /etc/ppp/options.pptpd
logwtmp
bcrelay eth0
localip 172.16.0.1
remoteip 172.16.0.134-234
#cat /etc/ppp/options.pptpd |sed -e /^#/d -e /^$/d
name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
ms-dns 202.106.0.20
proxyarp
debug
lock
nobsdcomp
novj
novjccomp
nologfd
# cat /etc/ppp/chap-secrets |sed -e /^#/d -e /^$/d
wangxiaoming pptpd '159753xxx' *
lixiaohua pptpd '123456xxx' *
注意:这里只加了两个用户,可以自定义加载,好像pptpd最多支持100个用户吧。我建的时候查日志看的,没仔细研究,不过应该够了。还有就是pptpd.conf 中的给vpn的ip最好不要和内网重叠。

==========================================================================

iptraf没啥好写的,我主要用到了"lan station monitor",监控内网各主机流量,不过内网再有无线路由器等设备,再做二次路由的话,那就只能监控出口流量了,比较好的办法是把网线插到无线路由的lan口上。不过有些路由器不支持这种接法,那也没办法了。

==========================================================================

iptables
#cat gateway.sh
#!/bin/bash
local_ip=221.xxx.xxx.110
local_eth=eth1
lan_net='192.168.1.0/24'
allow_tcp_ports="22 53"
modprobe ip_nat_ftp
modprobe ip_conntrack
modprobe ip_conntrack_ftp
add_default(){
        echo "1" > /proc/sys/net/ipv4/ip_forward
        clear_police
        iptables -P INPUT DROP
        iptables -A INPUT -i lo -j ACCEPT
        iptables -A INPUT -i $local_eth -j ACCEPT
        iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
        iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
        iptables -A INPUT -p gre -j ACCEPT
        iptables -A INPUT -p udp --dport 161 -j ACCEPT #我外网有个cacti监控
}
add_nat(){
iptables -t nat -A POSTROUTING -s 192.168.1.245 -j SNAT --to-source 221.xxx.xxx.111 iptables -t nat -A PREROUTING -d 221.xxx.xxx.111 -j DNAT --to-destination 192.168.1.245 iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to 221.xxx.xxx.110
iptables -t nat -A POSTROUTING -s 172.16.0.0/24 -j SNAT --to 221.xxx.xxx.110 #让vpn拨过来的IP能上网
iptables -t nat -A PREROUTING -d 221.xxx.xxx.110 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.1.200:80
iptables -t nat -A PREROUTING -d 221.xxx.xxx.110 -p tcp -m tcp --dport 22 -j DNAT --to-destination 192.168.1.200:22
iptables -t nat -A PREROUTING -d 221.xxx.xxx.110 -p tcp -m tcp --dport 20 -j DNAT --to-destination 192.168.1.254:20
iptables -t nat -A PREROUTING -d 221.xxx.xxx.110 -p tcp -m tcp --dport 21 -j DNAT --to-destination 192.168.1.254:21
}
add_local_ports(){
for i in $allow_tcp_ports
    do
         iptables -A INPUT -s $lan_net -p tcp --dport $i -j ACCEPT
    done
iptables -A INPUT -s $lan_net -p icmp -j ACCEPT
}
clear_police(){
iptables -X
iptables -Z
iptables -F
iptables -t nat -F
iptables -t nat -X
iptables -t nat -Z
}
case $1 in
start)
    add_default
    add_nat
    add_local_ports ;;
stop)
    add_default
    add_local_ports ;;
restart)
    $0 stop
    $0 start ;;
status)
    iptables -t nat -nL ;;
*)
     echo "Usage: $0 start|stop|restart" ;;
esac
这里有端口映射,有ip映射。够全了吧。哈哈。注意那个“gre”的开放是为vpn开的。

==========================================================================

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/9cb23eaa65ef10045178e9d42d8429f3.html