一. 网卡配置
作为代理服务器的主机需要两块网卡,一块为外网网卡,一块为内网网卡。
本例中eth0为内网网卡,eth1为外网网卡。
首先,配置 /etc/sysconfig/network-scripts/ifcfg-eth0:
复制代码 代码如下:
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.1.255
IPADDR=192.168.1.254
NETMASK=255.255.255.0
NETWORK=192.168.1.0
ONBOOT=yes
然后,配置 /etc/sysconfig/network-scripts/ifcfg-eth1:
复制代码 代码如下:
DEVICE=eth1
BOOTPROTO=static
BROADCAST=22~~~~
IPADDR=22~~~~
NETMASK=255.255.255.252
NETWORK=22~~~~
ONBOOT=yes
最后,配置 /etc/sysconfig/network:
复制代码 代码如下:
NETWORKING=yes
hostname=gateway
FORWARD_IPV4="yes"
GATEWAY=22~~~~
至此完成网卡的基本配置,实现机器自身的上网。
二、iptables脚本的配置.
touch /var/lock/subsys/local
复制代码 代码如下:
#!/bin/sh
/sbin/modprobe ip_tables
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack_ftp
/sbin/iptables -F
/sbin/iptables -F -t nat
/sbin/iptables -X
/sbin/iptables -Z
/sbin/iptables -P INPUT ACCEPT
/sbin/iptables -P FORWARD ACCEPT
/sbin/iptables -P OUTPUT ACCEPT
echo "1"> /proc/sys/net/ipv4/ip_forward
/sbin/iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
/sbin/iptables -A FORWARD -s 0/0 -d 0/0 -j ACCEPT
#geong welcome to you !!!
#stop this server
echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all
echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_all
#echo 2 >/proc/sys/net/ipv4/icmp_echo_ignore_all
iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
iptables -t nat -A PREROUTING -p udp -d 192.168.0.2 --dport 53 -j DNAT --to 202.96.209.5:53
iptables -t nat -A PREROUTING -p udp -d 192.168.0.3 --dport 53 -j DNAT --to 202.96.209.6:53
iptables -I FORWARD -s 222.90.212.146 -j DROP
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.2:8080
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 8090 -j DNAT --to-destination 192.168.1.41:8088
以上脚本根据自己上网的环境不同在写法上也会有所不同。
将脚本命名为iptab.sh,权限755,放在/etc/rc.d下。
在/etc/rc.d/rc.local启动脚本中加入:
cd /etc/rc.d
./iptab.sh