建议用linux吧.下面是别人写的,后面我有补充 1.安装Linux,不管是在图形,还是文体下都可以,选择最小安装,在安装的时候可以先配置一下外网的IP和DNS(不设也行),其它全部默认 安装好后进入提示符 2.进入提示符以后,首先配置下网卡: eth0 (外网网卡)配置文件路经为:/etc/sysconfig/network-scripts/ifcfg-eth0 用 vi /etc/sysconfig/network-scripts/ifcfg-eth0 修改 eth0的内容,如果安装得时候配好了就不用配了,检下看有错没就行了。 eth0的内容为:(注IP为假设IP, #为注释不用写) DEVICE=eth0 #硬件设备名 BOOTPROTO=static #配置方式 BROADCAST=218.28.9.255 #广播地址 IPADDR=218.28.9.123 #是你的IP地址 NETMASK=255.255.255.0 #子网掩码 NETWORK=218.28.9.0 #整个网段的地址 ONBOOT=yes #是否启用网卡(一般默认是开启的) eth1(内网网卡),配置文件路经为:/etc/sysconfig/network-scripts/ifcfg-eth1 用 vi /etc/sysconfig/network-scripts/ifcfg-eth1 修改 eth0的内容 eth1的内容为: DEVICE=eth1 #硬件设备名 BOOTPROTO=static #配置方式 BROADCAST=192.168.0.255 #广播地址 IPADDR=192.168.0.1 #是你的IP地址 NETMASK=255.255.255.0 #子网掩码 NETWORK=192.168.0.0 #整个网段的地址 ONBOOT=yes #是否启用网卡(一般默认是开启的) 网卡配置完了 大家可以用ifconfig命检查下网卡有没配错 3. 现在来设置外网网关,和ISP提供的DNS 网关的配置文件路径是 /etc/sysconfig/network 用vi 编辑 如果在安装时已经设好这个不用改。 内容为: NETWORKING=yes #这个不知道是什么意思默认为yes 不用改 HOSTNAME=rslinux #你的主机名 不用改 GATEWAY=218.28.9.120 #你的外网网关 下来加上DNS 如果安装时设好就不用改了 DNS配置文件路径为: /etc/resolv.conf 用vi 编辑 语法是: nameserver 20.2102.224.68 (可以加多条) 以上基本工作全部做完以后我可以用 route命令检查下路态如果读出来很顺利则说明没问题. 我的做完以后是这样的 192.168.0.0 * 255.255.255.0 U 0 0 0 eth1 218.28.9.0 * 255.255.255.0 U 0 0 0 eth0 169.254.0.0 * 255.255.255.0 U 0 0 0 eth1 127.0.0.0 * 255.255.255.0 U 0 0 0 lo default hn.pds.kd.adsl 255.255.255.0 U 0 0 0 eth0 3.用IPTABLES 实现双网卡NAT功能,从而实现代理服务器上网 上面的工作做完了之后我们修改sysctl.conf,也就是IP转发文件。在这里我们一定要起用IP转发才可以。 sysctl.conf 路径为 /etc/sysctl.conf 里面可以这样写: net.ipv4.ip_forward=1 net.ipv4.conf.default.rp_filter=1 kernel.sysrq=0 4.最后编辑 rc.local文件 vi /etc/rc.d/rc.local #编辑起动批处理文件,在文件末尾添加如下几行 iptables -F #清除iptables表 iptables -F -t nat #清除iptables IP nat表 iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE #把内网ip伪装为外网的以至接通internet echo 1>/proc/sys/net/ipv4/ip_forward #启动ip中转功能. 到此,重启机器后代理服务器就能用了。 如果不想加载那么多服务可用 ntsysv 命令把服务去掉 只留下iptables服务和networks服务,其它服务的勾全部去掉. 注: 以上请大家注意大小写,写错了是不能用的 -------------------------------------------------------------------- #!/bin/bash INT="eth0" EXT="eth1" INT_NETWORK="192.168.0.0/24" INT_SERVICES="21 22 80 139" EXT_SERVICES="22" IPTABLES="/sbin/iptables" ANY="0.0.0.0/0.0.0.0" $IPTABLES -F -t filter $IPTABLES -F -t mangle $IPTABLES -F -t nat $IPTABLES -Z $IPTABLES -X ####----------public network------------###### $IPTABLES -A INPUT -i $EXT -m state --state RELATED,ESTABLISHED -j ACCEPT for PORTS in $EXT_SERVICES; do $IPTABLES -A INPUT -i $EXT -p tcp --dport $PORTS -j ACCEPT done $IPTABLES -A INPUT -i $EXT -p tcp --syn -j REJECT ####----------private network------------###### $IPTABLES -A INPUT -i $INT -m state --state RELATED,ESTABLISHED -j ACCEPT for PORTS in $INT_SERVICES; do $IPTABLES -A INPUT -i $INT -p tcp --dport $PORTS -j ACCEPT done ###----------forward rules--------------##### $IPTABLES -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT $IPTABLES -A FORWARD -i $INT -o $EXT -j ACCEPT $IPTABLES -A FORWARD -i $EXT -p tcp --syn -j REJECT ###----------nat rules ----------------#### $IPTABLES -t nat -A POSTROUTING -s $INT_NETWORK -o $EXT -j MASQUERADE $IPTABLES -t nat -I PREROUTING -i ppp0 -p udp --dport 27015 -j DNAT --to 192.168.0.1 ###----------squid rule ---------------#### $IPTABLES -t nat -I PREROUTING -s $INT_NETWORK -p tcp --dport 80 -j REDIRECT --to 3128 这段比你的安全,,,但是还不够好,,,其中 $IPTABLES -t nat -I PREROUTING -i ppp0 -p udp --dport 27015 -j DNAT --to 192.168.0.1 是映射
linux forward
最新推荐文章于 2024-04-30 16:30:27 发布