linux iptables

核心代码:

注意:请打开内核的转发功能:

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

#######################################################

NAT:

echo 1 > /proc/sys/net/ipv4/ip_forward   //开启转发功能

iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -o eth2 -j SNAT --to-source 10.18.46.22 //NAT

 

-s 172.16.1.0/24 需要替换的源IP

-o eth2 出外网的那张网卡

--to-source 将源地址替换.

 

Appendix:

通过修改配置文件/etc/sysconfig/network在这个文件中添加:FORWARD_IPV4="YES".设置开机打开转发.

#########################################################################

限速:limit

对单个IP限速:

iptables -A FORWARD -s 172.16.1.1/24 -m limit  --limit 60/s -j ACCEPT  // "60/s" 指的是包的大小,根据MTU值(默认)1500可以计算出速度:60*1500/1024 = 88 KB/s

iptables  -A FORWARD -s 172.16.1.1/24 -j DROP  //上面两个规则是一起工作的,也就是说,当包的个数超过60/sec的时候,执行本规则.

#########################################################################

MASQUERADE:动态NAT

iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE


#########################################################################

DNAT:重定向,一般用于内网架设服务器,供外网使用,只要在防火墙上增加一条iptables即可。

iptables -t nat -A PREROUTING -d 10.18.46.17 -p tcp --dport 80 -j DNAT --to 10.18.46.168:8080

为了让包返回时,还是按照原路返回,可以再增加一条SNAT

iptables -t nat -A POSTROUTING -d 10.18.46.168 -p tcp --dport 80 -j SNAT --to 10.18.46.17


#########################################################################

透明Squid

iptables -t nat -A PREROUTING -i em1 -p tcp --dport 80 -j REDIRECT --to-ports 3128

当然还要修改Squid的配置文件:/etc/squid/squid.conf

http_port 3128 transparent(对于现在的squid,都是只要加上一句squid就够了,老的版本请另外查询)


Appendix:

杀掉squid: sudo kill -9 `ps aux | grep squid | grep -v grep | awk '{print $2}'`

重新开启squid:sudo squid -z

                           sudo squid -s

其中:sudo squid -X

           sudo squid -k parse 可以用来检查配置文件的语法.

##########################################################################

附带一个网址,个人认为讲的非常好:

http://www.opsers.org/linux-home/videos/chapter-netfilter-iptables-raiders.html 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux iptables是一个基于内核的防火墙工具,它可以通过配置规则表来控制网络流量的传入和传出。iptables可以被用来保护计算机免受恶意攻击和未经授权的访问。它使用规则来决定如何处理数据包,可以允许或拒绝特定类型的流量。 在设置iptables时,一般会使用命令来定义规则。例如,可以使用命令`iptables -P INPUT DROP`和`iptables -P FORWARD DROP`来将默认规则设置为拒绝所有输入和转发的流量。这意味着除非明确允许,否则所有的数据包都会被丢弃。 此外,还可以使用命令`iptables -A INPUT -p tcp --dport 20:21 -j ACCEPT`来允许通过TCP协议的端口20和21的流量进入系统。同样地,可以使用命令`iptables -I FORWARD -d 192.168.80.0/24 -p tcp --dport 24500:24600 -j DROP`来拒绝转发到目标IP地址为192.168.80.0/24且端口范围为24500至24600的TCP流量。 iptables可以通过配置不同的规则表(如raw、mangle、nat和filter)来实现不同的功能。这些规则在配置后会立即生效,无需重新启动服务。此外,还可以创建自定义的链来更好地组织规则。 总结来说,Linux iptables是一个强大的防火墙工具,通过配置规则表和链,可以控制网络流量的传入和传出,从而保护计算机免受恶意攻击和未经授权的访问。通过设置默认规则和特定的规则,可以选择允许或拒绝特定类型的流量进入或离开系统。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Linux——iptables防火墙](https://blog.csdn.net/nwp0611/article/details/130992009)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [防火墙iptables](https://blog.csdn.net/zmac111/article/details/117226578)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值