生活的道路一旦选定,就要勇敢地走到底,决不回头。

发掘积累过程的快感

首页 » BIBLE模型 » 信息安全 » iptables高级配置

iptables高级配置


编辑 /etc/rc.local,加入 iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j MASQUERADE,外网口 eth1dhcp 获得 IP。

进入本机的数据包为 INPUT,从本机发送出去的数据包为 OUTPUT,只是路由的包为 FORWARD;防火墙就是基于这 3 个过滤点来操作的。

对于包的操作有:目标(Target)、丢弃(DROP)、接受(ACCEPT)、弹回(REJECT)、日志(LOG)……等等,比如 iptables -A INPUT -p icmp -j DROP(-A 代表添加到的过滤点 -p 针对的协议类型;此条命令的作用是禁 ping),通常是拒绝所有,再一个一个的打开。

iptables -F 清空所有规则

iptables -A INPUT -p tcp -d 10.0.0.1 –dport 21 -j DROP (本机地址为 10.0.0.1,此条规则为拒绝所有发送到本机 TCP 21 端口的数据包,即关闭 FTP 服务)

iptables -A INPUT -p tcp -s 10.0.0.1 –dport 21 -j DROP (此条规则为拒绝所有发送至 10.0.0.1 的 TCP 21 端口的数据包)

(本机,即服务器的地址为 10.0.0.1)

iptables -A INPUT -p tcp -d 10.0.0.1 –dport 22 -j ACCEPT #允许别人访问22端口
iptables -A OUTPUT -p tcp –sport 22 -m state –state ESTABLISHED -j ACCEPT #和自己建立过22端口连接的包才给与回应,防止病毒利用22端口,不允许本地22端口主动产生包发出去
iptables -A INPUT -p tcp –sport 22 -m state –state ESTABLISHED -j ACCPET #只接收ssh服务回应自己SSH请求的回应包
iptables -P INPUT DROP #丢弃所有的input包
iptables -P OUTPUT DROP #丢弃所有的OUTPUT包
iptables -P FORWARD DROP #丢弃所有的FORWARD包
iptables -L -n #查看所有链路信息,如果再加“–line-numbers”则显示编号
iptables -A INPUT -p tcp -d 10.0.0.1 –dport 80 -j ACCEPT #允许别人访问80端口
iptables -A OUTPUT -p tcp –sport 80 -m state –state ESTABLISHED -j ACCEPT #和自己建立过80端口连接的包才给与回应,防止病毒利用80端口,不允许本地80端口主动产生包发出去
iptables -A OUTPUT -p udp -s 10.0.0.1 –dport 53 -j ACCEPT #允许向DNS服务器发送同步数据包
iptables -A OUTPUT -p udp –sport 53 -j ACCEPT #对于自己53端口发送的请求包通过(自己是DNS服务器时)
iptables -A INPUT-p udp –dport 53 -j ACCEPT #允许别人访问自己的53端口(自己是DNS服务器时)
iptables -A INPUT -p udp –sport 53 -j ACCEPT #允许接收DNS服务器的返回包
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT #允许自己通过环回口访问自己的所有服务
iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT #允许自己通过环回口访问自己的所有服务
iptables -I INPUT 1 -p tcp –dport 22 -j LOG –log-level 5 –log-prefix “iptables:” #为22端口的INPUT包增加日志功能,插在input的第1个规则前面,一定要保证在提交到日志之前,没有相同接收或者丢弃包
vi /etc/syslog.conf #编辑日志配置文件,添加kern.=notice   /var/log/firewall.log(log-level 5为notice,详情man syslog)
service syslog restart #重启日志服务
tail /var/log/firewall.log -f #查看日志
iptables -A FORWARD -s 10.0.0.0/24 -j ACCEPT #从局域网发给互联网的包全部转发
iptables -A FORWARD -d 10.0.0.0/24 -j ACCEPT #从互联网发送给局域网的包全部转发

还需要打开 /proc/sys/net/ipv4/ip_forward 让里面的值变为 1(默认值是 0),打开转发,此方法是临时生效

vi /ect/sysctl.conf #打开系统配置文件,编辑net.ipv4.ip_forward = 1,此方法是永久生效
iptables -t nat -L -n #查看iptables的nat表
service iptables save #永久性的保存规则,等同于iptables-save > /etc/sysconfig/iptables
互联网信息太多太杂,各互联网公司不断推送娱乐花边新闻,SNS,微博不断转移我们的注意力。但是,我们的时间和精力却是有限的。这里是互联网浩瀚的海洋中的一座宁静与美丽的小岛,供开发者歇息与静心潜心修炼。 “Bible”是圣经,有权威的书,我们的本意就是为开发者提供真正有用的的资料。 我的电子邮件 1217179982@qq.com,您在开发过程中遇到任何问题,欢迎与我联系。
Copyright © 2024. All rights reserved. 本站由 Helay 纯手工打造. 蜀ICP备15017444号