环境:硬件:IBM X336 服务器
软件:CentOS 5.5 + iptables-1.3.5
一 配置NetWork:
内网:Eth0 :192.168.0.253/24
外网:Eth1:112.95.145.157/24
Eth0: vi /etc/sysconfig/network-scripts/ifcfg-eth0
增加:
BOOTPROTO=static
IPADDR=192.168.0.253
BROADCASK=192.168.0.255
NETMASK=255.255.255.0
NETWORK=192.168.0.0
ONBOOT=yes
Eth1: vi /etc/sysconfig/network-scripts/ifcfg-eth1
增加:
BOOTPROTO=static
IPADDR=112.95.145.157
NETMASK=255.255.255.0
BROADCASK=112.95.145.255
NETWORK=112.95.145.0
ONBOOT=yes
设置网关:
Vi /etc/syscofig/network
增加:
NETWORKING=yes
NETWORKING_IPV4=yes
GATEWAY=112.95.145.1
HOSTNAME=GateWay
设置DNS:
Vi /etc/resolv.conf
增加:
nameserver 210.21.196.6
nameserver 221.5.55.88
重启NETWORK:service network restart
网络启动成功后,Ping一下网关、外部地址,验证配置正确。
二 Iptables配置
Iptables 随系统已经安装。检查确认:
rpm -qa iptables
本例为:iptables-1.3.5-5.3.e15_4.1
1 打开IP转发功能:
echo 1 > /proc/sys/net/ipv4/ip_forward
2 建立nat 伪装
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.0.0/22 -o eth1 -j MASQUERADE (只建立特定子网
的nat)
3 建立转发
iptables -A FORWARD -i eth0 -j ACCEPT
iptables -A FORWARD -s 192.168.0.0/22 -m state --state ESTABLISHED,RELATED -j ACCEPT (特定子网
的转发)
4 保存iptables 配置。
service iptables save
最简单的网关就配置好了。可以按实际情况加上各种转发规则。
找一台客户机:设置IP:192.168.0.2/24 GATEWAY:192.168.0.253
DNS:210.21.196.6 221.5.88.88
验证能不能正常访问外部。
三 限制特定的MAC IP访问
1 限制特定MAC 地址外部访问:
iptables -A FORWARD -m mac --mac-source xx:xx:xx:xx:xx:xx -j DROP
解封:
iptables -D FORWARD -m mac --mac-source xx:xx:xx:xx:xx:xx -j DROP
限制所有通信:
iptables -A INPUT -m mac --mac-source xx:xx:xx:xx:xx:xx -j DROP
解封:
iptables -A INPUT -m mac --mac-source xx:xx:xx:xx:xx:xx -j DROP
2 限制特定IP外部访问:
iptables -A FORWARD -s 192.168.0.x -j DROP
解封:
iptables -D FORWARD -s 192.168.0.x -j DROP
限制所有通信:
iptables -A INPUT -s 192.168.0.x -j DROP
解封:
iptables -D INPUT -s 192.168.0.x -j DROP
3 查看所有规则:
iptables -L
或者: cat /etc/sysconfig/iptables
四 SSH外部登录安全设定。
SSH默认port:22 可以以ROOT方式登录。更改如下:
1 修改port
vi /etc/ssh/sshd_config
找到#Port 22 行,新增
Port 27481 (可以换成不与现有端口相冲突的任意端口)
2 修改限制ROOT方式登录
vi /etc/ssh/sshd_config
找到 #PermitRootLogin yes 新增
PermitRootLogin no
3保存退出。重启SSH
Service sshd restart
4 用ssh软件测试是否生效。