Linux防火墙的3个超典型应用


iptables 这个指令, 如同以下用 man 查询所见, 它用来过滤封包和做NAT Network Address Translation(网路位址转译), 这个指令的应用很多, 可以做到很多网路上的应用.
iptables - administration tool for IPv4 packet filtering and NAT

应用1:让区域网路内的电脑以一个真实IP来共享频宽(实作NAT)

架构图:

所需设备: 一台 Linux server , 2张网路卡

网卡1 : eth0 , 使用真实IP , 网卡2 : eth1 , 使用 192.168.1.254

设定: 在 /etc/rc.d/rc.local 写入以下几行

echo "1" > /proc/sys/net/ipv4/ip_forward

modprobe ip_tables

modprobe ip_nat_ftp

modprobe ip_conntrack

modprobe ip_conntrack_ftp

iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE

应用2:让区域网路内的电脑以一个ADSL来共享频宽(实作NAT)

这个例子和上个例子很像, 只是某一个设定要做修改

架构图:

所需设备: 一台 Linux server , 2张网路卡
网卡1 : eth0 , 使用真实IP , 网卡2 : eth1 , 使用 192.168.1.254

设定: 在 /etc/rc.d/rc.local 写入以下几行

echo "1" > /proc/sys/net/ipv4/ip_forward

modprobe ip_tables

modprobe ip_nat_ftp

modprobe ip_conntrack

modprobe ip_conntrack_ftp

iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.1.0/24 -j MASQUERADE

应用3:让外界的电脑可以存取区域网路内的某部server(实作转址,转port)

此种做法有保护内部 server 的效果

架构图:

所需设备: 一台 Linux server , 2张网路卡

网卡1 : eth0 , 使用真实IP , 网卡2 : eth1 , 使用 192.168.1.254

设定: 在 /etc/rc.d/rc.local 写入以下几行

echo "1" > /proc/sys/net/ipv4/ip_forward

modprobe ip_tables

modprobe ip_nat_ftp

modprobe ip_conntrack

modprobe ip_conntrack_ftp

iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE

iptables -t nat -A PREROUTING -i eth0 -p tcp -d 真实IP --dport 80 -j DNAT --to-destination 192.168.1.13:80

相关内容