centos里iptable的NAT
分类:CentOS运维 阅读:16957 次
用centos5.3配nat死活都不行,参考N多配置方法都无济于事。
觉得是操作系统那里出了问题,又用了6.6,里面有个配置的图形引导界面,很容易就搞定了。
后来在英文网页里发现
echo "1" > /proc/sys/net/ipv4/ip_forward
这样就可以了。寻找N多地方,终于知道这是在OS系统默认不转发流量的时候,强制转发的方法。
常态的让系统转发需要修改配置文件。
/etc/sysctl.conf
里面
net.ipv4.ip_forward = 1
不起作用是因为默认值是0,disable,换成1就是enable了。
sysctl -p
更新,当然重启也可以。
chkconfig iptables on
常态开启防火墙,作为服务。
然后才是/etc/sysconfig/iptables文件的配置。
用添加命令也是实现,这里eth0为外,eth1为内部
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
这就是内部上外部不做限制,这对于外网卡的IP地址为DHCP的时候很好用。
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 172.26.1.79
这是内部网192.168.1.0/24,到外部,替换源地址为172.26.1.79
让外界访问内部服务器,比如说远程桌面
iptables -t nat PREROUTING -i eth0 -p tcp --dport 3389 -j DNAT --to-destination 192.168.1.2
-i eth0是进入的网卡,i是input的意思;-p tcp,协议是tcp;--dport 3389端口号是3389,--to-destination是内部服务器的IP地址
仅仅是这些还不够,上面是nat表,-t是指定table的,
在filter表里也需要配置
iptables -t filter -A FORWARD -i eth0 -m state --state NEW -m tcp -p tcp -d 192.168.1.2 --dport 3389 -j ACCEPT
不在转发链路里放行到内部的流量是不行的。为什么这里的-d是192.168.1.2,因为在前面的nat表里PREROUTING已经进行了NAT路由,到达FORWARD处理流程的时候,目的地址已经从外网卡IP地址变成192.168.1.2,进入内网当然只能用内网IP地址过滤了。
还要转发一些流量许可
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p icmp -j ACCEPT
iptables -A FORWARD -i lo -j ACCEPT
iptables -A FORWARD -o eth0 -j ACCEPT
不要用系统自己带的那个防火墙图形配置,一用就出RH-Firewall-1-INPUT,搞的自己都乱了。
另外用5.3速度很慢,远程桌面接进去,画面都不动,看了5.3默认封掉转发是有原因的。
用6.6就没啥问题了,速度还可以接受。
下面是一些网络的配置命令
如果开始只有一个网卡,后来添加的,那么只有
/etc/sysconfig/network-scripts/ifcfg-eth0
没有ifcfg-eth1,可以复制ifcfg-eth0为ifcfg-eth1,然后修改里面的内容。
需要去查看网卡硬件文件
/etc/udev/rules.d/70-persistent-net.rules
确认里面有新增加的网卡,记录下mac地址,
DEVICE=eth1
NAME="System eth1"
HWADDR=00:50:56:A0:40:18
IPADDR=192.168.1.1
PREFIX=24
GATEWAY=
DNS1=
DOMAIN=
修改项,ip地址,掩码,HWADDR就是mac地址,如果版本高,有UUID,改的和eth0不同就可以。
内网卡不设网关。PREFIX是前缀,和掩码是一个意思,不同写法。os版本不同,5的写NETMASK,6就是PREFIX
iptables -F
清除预设表filter中的所有规则链的规则
iptables -X
清除预设表filter中使用者自定链中的规则
/etc/rc.d/init.d/iptables save 或者 service iptables save
保存命令打进去的配置,不然重启就没了
service iptables restart
重启服务
本文出自 “天才没有那1%是万万不行的” 博客,请务必保留此出处http://xushen.blog.51cto.com/1673219/1669784
热门推荐
- 适合Centos Web服务器的iptables规则
- Centos 服务器中php.ini的安全优化配置
- Centos 服务器中php.ini的安全优化配置
- 正确设置 php-fpm子进程用户 提高网站安全性 防止被挂木马
- Centos 网站服网站目录文件权限的简单安全设置
- Centos 上配置安全的SSH
- 保证Centos Apache Web服务器安全的10个建议
- Nginx简单设置防御CC攻击
- 20步打造最安全的Nginx Web服务器
- Centos 5.5服务器的安全配置
- 提高Linux系统安全性的几个招数
- 让CentOS服务器支持https(安全http协议)
- 隐藏/屏蔽Linux服务器系统信息
- Centos 操作系统的优化及安全配置
- Linux防火墙伪装机制可抵抗恶意黑客攻击
- Linux系统安全配置详细解析
- CentOS5.x内核优化详细解析 (sysctl.conf)
- Centos服务器禁止单用户模式(single)来增强系统安全
- apache的安全增强配置(使用mod_chroot,mod_security)
- Centos Web服务器安全设置iptables规则