Linux双网卡搭建NAT服务器

合集下载

linux内核NAT配置介绍

linux内核NAT配置介绍

linux内核NAT配置介绍1.开启ipv4转发方法1:把etc/sysctl.conf中的net.ipv4.ip.forward=0后面的0改为1(长期有效)方法2:输入:echo1>/proc/sys/net/ipv4/ip_forward(短期有效,重启后需重新配置)2.配置nat表(假设要在接口eth0上开启SNAT功能,eth0的ip 为192.168.1.34)2.1匹配源ipiptables-t nat-A POSTROUTING-s192.168.10.54-o eth0-j SNAT--to192.168.1.34功能:匹配eth0接口上源ip为192.168.10.54的报文,对其进行nat映射,将源ip替换为192.168.1.342.2匹配源网段iptables-t nat-A POSTROUTING-s192.168.10.54/24-o eth0-j SNAT--to192.168.1.34功能:匹配eth0接口上源网段192.168.10.54/24的报文,对其进行nat映射,将源ip替换为192.168.1.342.3匹配源端口iptables-t nat-A POSTROUTING-p udp--dport53-o eth0-j SNAT--to192.168.1.34功能:匹配eth0接口上目的端口为53的udp报文,对其进行nat映射,将源ip替换为192.168.1.34iptables-t nat-A POSTROUTING-p tcp--dport53-o eth0-j SNAT--to192.168.1.34功能:匹配eth0接口上目的端口为53的tcp报文,对其进行nat 映射,将源ip替换为192.168.1.342.4匹配源端口+源ipiptables-t nat-A POSTROUTING-s192.168.10.54-p udp--dport53-o eth0-j SNAT--to 192.168.1.34功能:匹配eth0接口上目的端口为53、源ip为192.168.10.54的udp报文,对其进行nat 映射,将源ip替换为192.168.1.34 iptables-t nat-A POSTROUTING-s192.168.10.54-p tcp--dport53-o eth0-j SNAT--to 192.168.1.34功能:匹配eth0接口上目的端口为53、源ip为192.168.10.54的tcp报文,对其进行nat 映射,将源ip替换为192.168.1.342.5匹配DNATiptables-t nat-A PREROUTING-i eth1-d!192.168.100.1-p udp--dport!53-j DNAT--to 192.168.100.1功能:将目的ip不是192.168.100.1且目的端口不是53的报文做NAT,目的ip替换为192.168.100.13.查看nat规则iptables-t nat-L4.删除nat规则4.1删除一条nat规则iptables-t nat-D POSTROUTING-s192.168.1.54-o eth0-j SNAT--to192.168.1.344.2删除所有nat规则iptables-t nat-F5.NAT表说明nat表的三个链:1.PREROUTING:定义进行DNAT的规则,因为路由器进行路由时只检查数据包的目的ip 地址,所以为了使数据包得以正确路由,我们必须在路由之前就进行DNAT;2.POSTROUTING:定义进行SNAT的规则,系统在决定了数据包的路由以后在执行该链中的规则。

windows XP及Linux下双网卡配置方案

windows XP及Linux下双网卡配置方案

Windows XP下双网卡配置方案一、软硬件需求●硬件:一台带有双网卡的PC,其中一个连接internet;另一个接局域网hub。

其中节局域网地址为:192.168.0.1/255.255.255.0●软件:操作系统:windows XP代理软件:CCProxy二、设置CCProxy:1、服务器的安装运行下载后的Ccproxysetup.exe 安装本软件(注:现在的最新版本为CCProxy-v6.6,推荐下载网站:霏凡)安装完成后,桌面有一个CCProxy的绿色图标:双击即可启动CCProxy了(如附图)。

绿色的网格坐标将会出现,黄色的曲线表示网络数据流量。

2、客户端设置前的准备工作1)确认客户端与服务器是连通的,能够互相访问。

2)确定代理服务器地址。

代理服务器地址就是安装代理服务器的机器的网络地址。

这个地址,是指服务器在局域网中的本地IP地址。

本地IP地址可以从CCProxy的设置对话框中得到。

设置对话框中的本地IP地址一般情况下可以用"自动检测"得到。

如果服务器安装了双网卡,则需要手工选取:取消"自动检测",从列表中选取。

如果不能确认服务器的IP地址,也可以用服务器的机器名作为代理服务器地址。

3、局域网机器设置:※对TCP/IP协议的属性进行设置:方法:右击“网上邻居”,选择“属性”,双击网卡对应的“TCP/IP协议”,选择“DNS”标签。

设置如下:选中“启用DNS”;“主机”中填入服务器名称;并在下面的“DNS服务器搜索顺序”中填入服务器的IP地址,本例为“192.168.0.1”,然后单击[填加];单击[确定]结束DNS设置;再次单击[确定],结束对网络属性的设置。

这时需要重新启动计算机。

※重新启动后,设置IE浏览器代理上网1)流程:IE浏览器->菜单"工具"->"Internet选项"->"连接"->"局域网设置"->选中"使用代理服务器"->"高级"->"代理服务器设置"。

Linux双网卡路由设置

Linux双网卡路由设置

为了Linux双网卡路由设置如题。

为了Linux可以上网,加了网关。

如下:1。

所修改得关键文件:/etc/sysconfig/hwconf 检查网卡是否被检测到。

/etc/modules.conf 检查每个网卡分配得别名。

/etc/sysconfig/network-stripts/ifcfg-eth0 配置网卡一/etc/sysconfig/network-stripts/ifcfg-eth1 配置网卡二/etc/sysconfig/networking/* 有部分关于主机名称等得配置文件。

2。

使用如下命令可以让配置生效:/etc/init.d/network restart3。

静态路由添加方法:(1)将添加静态路由的命令加入到rc.local中/etc/rc.d/rc.local格式如下(与route命令格式一致):route add -net 219.223.216.0 netmask 255.255.255.0 gw219.223.215.129 dev eth1加后,需重启系统后生效。

注:另有说法可将静态路由加入/etc/sysconfig/static-routes文件中(此文件中加入试用无效)(2)将添加静态路由的命令加入到/etc/sysconfig/network-scripts/route-eth1文件中格式如下:219.223.214.0/24 via 219.223.215.129 dev eth1219.223.215.0/24 via 219.223.215.129加后,需service network restart后生效以上两种方式加入路由重启后不丢失(3)临时添加路由命令(命令行加入):route add -net 192.168.0.0 netmask 255.255.255.0 gw 192.168.0.1 eth0 route add default gw 192.168.0.1 eth0netstat -rn 查看路由表。

linux双网卡双IP双网关如何配置

linux双网卡双IP双网关如何配置
[root@SERVER cripts]# cat ifcfg-eth1
# Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet
DEVICE=eth1
BOOTPROTO=none
ONBOOT=yes
HOTPLUG=no
HOTPLUG=no
TYPE=Ethernet
IPADDR=192.168.1.2
NETMASK=255.255.255.0
HWADDR=d8:d3:85:fb:d4:60
GATEWAY=192.168.1.1
USERCTL=no
IPV6INIT=no
PEERDNS=yes
eth1 的配置如下,不需要配置网关
TYPE=Ethernet
IPADDR=192.168.2.2
NETMASK=255.255.255.0
USERCTL=no
IPV6INIT=no
PEERDNS=yes
Linux 命令行下添加路由,192.168.3.0 走 eth1 的网关 192.168.2.1
route add -net 192.168.3.0 netmask 255.255.255.0 dev eth1
linux双网卡双ip双网关如何配置 注意: 2张网卡,只能有1张网卡配置网关,另1张网卡不能配置网关,通过route add添加路由功能来完成第2张网卡的网关配置. 如 : eth1 (192.168.2.2)不需要配置网关,但到 192.168.3.0的网段,需要从eth1去实现通信,其余的全部走eth0网卡,eth0配置网关. eth0的配置如下,配置网关参数 [root@redhat network-scripts]# cat ifcfg-eth0 # broadcom corporation netxtreme ii bcm5709 gigabit ethernet device=eth0 bootproto=none onboot=yes hotplug=no type=ethernet ipaddr=192.168.1.2 netmask=255.255.255.0 hwaddr=d8:d3:85:fb:d4:60 gateway=192.168.1.1 userctl=no ipv6init=no peerdns=yes eth1的配置如下,不需要配置网关 [root@server network-scripts]# cat ifcfg-eth1 # broadcom corporation netxtreme ii bcm5709 gigabit ethernet device=eth1 bootproto=none onboot=yes hotplug=no type=ethernet ipaddr=192.168.2.2 netmask=255.255.255.0 userctl=no ipv6init=no peerdns=yes linux命令行下添加路由,192.168.3.0走 eth1的网关 192.168.2.1 route add -net 192.168.3.0 netmask 255.255.255.0 dev eth1 下载文档原格式( txt原格式 ,共1页)

双网卡实现NAT软路由上网

双网卡实现NAT软路由上网

双网卡实现NAT软路由上网NAT也可以上LAN的计算机上网,这就是Windows 2000中的IP路由。

软路由安装前的准备1、在欲设置为软路由的计算机中安装Windows 2000 Server。

2、在欲设置为软路由的计算机中正确安装两块网卡。

3、在欲设置为软路由的计算机中安装TCP/IP协议,并为两块网卡分别配置IP地址信息(例如,202.103.53.69和10.0.0.1/255.0.0.0)。

4、建立DHCP。

软路由的安装以域用户管理员的身份登录,并执行下述操作。

1、依次单击“开始/程序/管理工具/路由和远程访问”,打开“路由和远程访问”窗口。

2、单击“操作”菜单,选择“配置并启用路由和远程访问”命令,运行“路由和远程访问服务器安装向导”,单击[下一步]。

2、由于我们在这里要安装的是路由器,所以,选择“网络路由器”选项,并单击[下一步]。

3、通常情况下,局域网计算机中只安装TCP/IP协议和NetBEUI协议,而且只有TCP/IP协议拥有路由功能。

AppleTalk协议仅用于苹果计算机之间的通讯。

由于TCP/IP协议已经显示于“协议”列表之中,因此,选择“是,所有可用的协议都在列表上”选项,并单击[下一步]。

4、本例中不安装远程访问服务,因此,选择“否”,不使用请求拨号访问远程网络。

单击[下一步]。

5、完成“路由和远程访问服务器安装向导”,单击[完成]。

软路由的设置1、依次单击“开始/程序/管理工具/路由和远程访问”,打开“路由和远程访问”窗口。

2、右键单击要启用路由的服务器名,然后单击“属性”,显示“属性”对话框。

3、在“常规”选项卡上,选中“路由器”复选框,并选择“仅用于局域网(LAN) 路由选择”选项,单击[确定]。

4、在“路由和远程访问”窗口中,打开左侧目录树“IP路由选择”,右击“常规”,并在快捷菜单中选择“新路由选择协议”,显示“新路由选择协议”对话框,(见图3)。

5、在“路由选择协议”列表中选中“网络地址转换(NAT)”,并单击[确定]。

linux双网卡绑定

linux双网卡绑定

一、L inux bonding研究及实现Linux Bonding本文介绍Linux(具体发行版本是CentOS5.6)下的双卡绑定的原理及实现。

Linux双网卡绑定实现是使用两块网卡虚拟成为一块网卡设备,这简单来说,就是两块网卡具有相同的IP地址而并行链接聚合成一个逻辑链路工作。

这项技术在Sun和Cisco中分别被称为Trunking和Etherchannel技术,在Linux的2.4.x及其以后的内核则称为Bonding技术。

bonding的前提条件:网卡应该具备自己独立的BIOS芯片,并且各网卡芯片组型号相同。

同一台服务器上的网卡毫无疑问是是符合这个条件的。

Bonding原理bonding的原理:在正常情况下,网卡只接收目的硬件地址(MAC Address)是自身MAC的以太网帧,过滤别的数据帧,以减轻驱动程序的负担;但是网卡也支持另外一种被称为混杂promisc的模式,可以接收网络上所有的帧,bonding就运行在这种模式下,而且修改了驱动程序中的mac地址,将两块网卡的MAC地址改成相同,可以接收特定MAC的数据帧。

然后把相应的数据帧传送给bond驱动程序处理。

为方便理解bonding的配置及实现,顺便阐述一下Linux的网络接口及其配置文件。

在Linux 中,所有的网络通讯都发生在软件接口与物理网络设备之间。

与网络接口配置相关的文件,以及控制网络接口状态的脚本文件,全都位于/etc/sysconfig/netwrok-scripts/ 目录下。

网络接口配置文件用于控制系统中的软件网络接口,并通过这些接口实现对网络设备的控制。

当系统启动时,系统通过这些接口配置文件决定启动哪些接口,以及如何对这些接口进行配置。

接口配置文件的名称通常类似于ifcfg-<name>,其中<name> 与配置文件所控制的设备的名称相关。

在所有的网络接口中,最常用的就是以太网接口ifcfg-eth0,它是系统中第一块网卡的配置文件。

LINUX系统下双网卡双网关设置(含五篇)

LINUX系统下双网卡双网关设置(含五篇)

LINUX系统下双网卡双网关设置(含五篇)第一篇:LINUX系统下双网卡双网关设置由于电信和网通之间互联互通的问题,很多人选择双线路机房,所谓双线路机房就是拥有两条出口,一条电信一条网通。

最近在一个双线路机房测试一台服务器,打算作为论坛的数据库服务器使用,服务器操作系统为Linux。

计划配置为双IP,双域名,使得浏览者通过电信和网通两条线路都能正常访问服务器,而且各走各的,互不影响。

在配置网络的时候遇到了问题,由于Linux默认只有一个网关,在网络上查询了很久,找到一个解决方案,因此整理了一下。

感谢原文作者jac003ke。

服务器操作系统RedHat linux 9,设置两张路由表1.vi /etc/iproute2/rt_tables,增加网通和电信两个路由表251 tel电信路由表252 cnc 网通路由表2.给网卡绑定两个地址用于电信和网通两个线路ip addr add 192.168.0.2/24 dev eth0ip addr add 10.0.0.2/24 dev eth13、分别设置电信和网通的路由表电信路由表:#确保找到本地子网ip route add 192.168.0..0/24 via 192.168.0.2 dev eth0 table tel#内部回环网络ip route add 127.0.0.0/8 dev lo table tel#192.168.0.1为电信网络默认网关地址ip route add default via 192.168.0.1 dev eth0 table tel网通线路路由表:#确保找到本地子网ip route add 10.0.0.0/24 via 10.0.0.2 dev eth1 table cnc#内部回环网络ip route add 127.0.0.0/8 dev lo table cnc#10.0.0.1是网通的默认网关ip route add default via 10.0.0.1 dev eth1 table cnc4、电信和网通各有自己的路由表,制定策略,让192.168.0.2的回应数据包走电信的路由表路由,10.0.0.2的回应数据包走网通的路由表路由ip rule add from 192.168.0.1 table telip rule add from 10.0.0.1 table cnc第二篇:双网卡连接内网外网--默认网关设置问题双网卡连接内网外网--默认网关设置问题2010年06月07日星期一14:36首先你的机器需要有两块网卡,分别接到两台交换机上,internet地址:192.168.1.8,子网掩码:255.255.255.0,网关:192.168.1.1内部网地址:172.23.1.8,子网掩码:255.255.255.0,网关:172.23.1.1如果按正常的设置方法设置每块网卡的ip地址和网关,再cmd下使用 route print查看时会看到Network Destination Netmask Gateway Interface Metric0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.80.0.0.0 0.0.0.0 172.23.1.1 172.23.1.8即指向0.0.0.0的有两个网关,这样就会出现路由冲突,两个网络都不能访问。

双网卡在同一网段的解决办法-iproute2有效

双网卡在同一网段的解决办法-iproute2有效

双⽹卡在同⼀⽹段的解决办法-iproute2有效如下图:tcpreplay使⽤两个⽹卡采⽤同⼀⽹段ip,系统会默认使⽤eth0⽹卡通信。

为是两个⽹卡⼯作正常,使⽤iproute2改路由表。

在tcpreplay服务器:ip rule add from 172.25.197.23/32 table 10ip route add to 172.25.197.183/32 dev eth0 table 10#ip rule add from 172.25.197.23/32 table 10ip route add to 172.25.197.184/32 dev eth1 table 20ip rule add from 172.25.197.70/32 table 20同时在CG上添加路由:route add -host 172.25.197.70 gw 172.25.197.184route add -host 172.25.192.33 gw 172.25.197.184route add -host 172.25.192.96 gw 172.25.197.184LG添加路由:route add -host 172.25.197.23 gw 172.25.197.183为使tcp发包更快更多ubuntu服务器还要租以下修改:sysctl -w net.ipv4.tcp_wmem="4096 2000000 4194304"sysctl -w net.ipv4.tcp_rmem="4096 3000000 6291456"另外软件需要检查hostname的,需要修改:/etc/hosts 和/etc/hostname ⽂件。

版权所有,转载必须加上原⽹址。

Tany 2013-07-02另外附上转载别⼈的:eth0: ip 192.168.0.1 ; eth1: ip 192.168.0.2 gateway:192.168.0.254/sbin/route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.0.254 dev eth0/sbin/route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.0.254 dev eth1/sbin/ip route add to 0.0.0.0/0 via 192.168.0.254 dev eth0 table 10/sbin/ip rule add from 192.168.0.1/32 table 10/sbin/ip route add to 0.0.0.0/0 via 192.168.0.254 dev eth1 table 20/sbin/ip rule add from 192.168.0.2/32 table 20仅供参考!-------------------------------------------------------------------------------------介绍 iproute23.1 为什么使⽤ iproute2?现在,绝⼤多数 Linux 发⾏版和绝⼤多数 UNIX都使⽤古⽼的arp, ifconfig和route命令。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Eth0的IP 地址,GW和DNS 都是自动获取的。

当然,如果是手动分配IP 、GW 和DNS 也是没问题的。

我的eth0 配置如下:IP: 192.168.79.129/24GW: 192.168.79.1DNS:192.168.79.2Linux 主机的eth1 指向内网,IP 地址为:10.50.10 .1/24 。

内网主机的内网主机的IP 地址就是10.50.10.0/24 段的IP ,eth1 的IP 是所有内网主机的网关。

这里,我的内网主机设置如下:IP: 10.50.10.46/24GW: 10.50.10.1DNS:192.168.79.2这里,所有内网主机的网关都设置为eth1 的IP 地址,而DNS 设置为eth1 所在的Linux 系统主机的DNS ,即192.168.79.2 。

(二)启用转发功能以上配置完成后,Host A应该可以ping通Linux系统主机的eth1的IP,因为他们是通过交换机链接的。

但是,Host A应该可以ping不通Linux系统主机的eth0的IP,应为并未开启Linux系统主机的转发功能。

开启Linux的转发功能,执行如下命令:# echo 1 > /proc/sys/net/ipv4/ip_forward查看系统是否启用了转发功能,可以执行如下命令:# cat /proc/sys/net/ipv4/ip_forward如果结果为1,代表已启用,0代表未启用。

此时,执行ping 192.168.72.129 以及其网关和DNS都可ping通了。

(三)配置NAT规则经过第二部分配置后,虽然可以ping相关的IP地址,但是内网主机还是无法上网。

问题在于内网主机的IP地址是无法在公网上路由的。

因此,需要转换成Linux系统主机可以上网的IP(注:这里我们只说不说是公网IP,是因为Linux系统可以直接上外网的IP同样是内网IP。

但是该内网IP(192.168.79.129)已经通过一些机制,实际上同样是NAT的方式,可以访问外网了,因此我们只需将Host A的IP转换成Linux系统eth0接口的IP即可)。

我们配置的NATNAT 转换:#iptables -t nat -A POSTROUTING -s 10.50.10.0/24 -o eth0 -j MASQUERADE也可以通过使用 SNAT target 实现:#iptables -t nat -A POSTROUTING -s 10.50.10.0/24 -o eth0 -j SNAT --to-source 192.168.79.129至于 MASQUERADE 和 SNAT 的区别,可以网上搜索,有相关的解释。

同时,还要在 FORWARD 点出配置规则如下:#iptables -A FORWARD -i eth1 -j ACCEPT保证所有进入 eth1 的包都被 FORWARD 点 ACCEPT 。

经过以上的配置之后, Host A 就可以正常的访问外网了。

问题:iptables中snat和MASQUERADE的区别解决方案iptables中可以灵活的做各种网络地址转换(NAT)网络地址转换主要有两种:snat和DNATsnat是source network address translation的缩写即源地址目标转换比如,多个PC机使用ADSL路由器共享上网每个PC机都配置了内网IPPC机访问外部网络的时候,路由器将数据包的报头中的源地址替换成路由器的ip 当外部网络的服务器比如网站web服务器接到访问请求的时候他的日志记录下来的是路由器的ip地址,而不是PC机的内网ip这是因为,这个服务器收到的数据包的报头里边的“源地址”,已经被替换了所以叫做snat,基于源地址的地址转换DNAT是destination network address translation的缩写即目标网络地址转换典型的应用是,有个web服务器放在内网配置内网ip,前端有个防火墙配置公网ip 互联网上的访问者使用公网ip来访问这个网站当访问的时候,客户端发出一个数据包这个数据包的报头里边,目标地址写的是防火墙的公网ip防火墙会把这个数据包的报头改写一次,将目标地址改写成web服务器的内网ip 然后再把这个数据包发送到内网的web服务器上这样,数据包就穿透了防火墙,并从公网ip变成了一个对内网地址的访问了即DNAT,基于目标的网络地址转换MASQUERADE,地址伪装,在iptables中有着和snat相近的效果,但也有一些区别但使用snat的时候,出口ip的地址范围可以是一个,也可以是多个,例如:如下命令表示把所有10.8.0.0网段的数据包snat成192.168.5.3的ip然后发出去iptables -t nat -A POSTROUTING -s 10.8.0.0/255.255.255.0 -o eth0 -j snat--to-source 192.168.5.3如下命令表示把所有10.8.0.0网段的数据包snat成192.168.5.3/192.168.5.4/192.168.5.5等几个ip然后发出去iptables -t nat -A POSTROUTING -s 10.8.0.0/255.255.255.0 -o eth0 -j snat--to-source 192.168.5.3-192.168.5.5这就是snat的使用方法,即可以NAT成一个地址,也可以NAT成多个地址但是,对于snat,不管是几个地址,必须明确的指定要snat的ip假如当前系统用的是ADSL动态拨号方式,那么每次拨号,出口ip192.168.5.3都会改变而且改变的幅度很大,不一定是192.168.5.3到192.168.5.5范围内的地址这个时候如果按照现在的方式来配置iptables就会出现问题了因为每次拨号后,服务器地址都会变化,而iptables规则内的ip是不会随着自动变化的每次地址变化后都必须手工修改一次iptables,把规则里边的固定ip改成新的ip这样是非常不好用的MASQUERADE就是针对这种场景而设计的,他的作用是,从服务器的网卡上,自动获取当前ip地址来做NAT比如下边的命令:iptables -t nat -A POSTROUTING -s 10.8.0.0/255.255.255.0 -o eth0 -j MASQUERADE如此配置的话,不用指定snat的目标ip了不管现在eth0的出口获得了怎样的动态ip,MASQUERADE会自动读取eth0现在的ip地址然后做snat出去这样就实现了很好的动态snat地址转换查看当前iptables的当前配置:Iptables –LIptables –t nat –LIptables –L –n清除规则:[root@tp ~]# iptables -F 清除预设表filter中的所有规则链的规则[root@tp ~]# iptables -X 清除预设表filter中使用者自定链中的规则Iptables保存:[root@tp ~]#/etc/rc.d/init.d/iptables saveIptables服务器重启:这样就可以写到/etc/sysconfig/iptables文件里了.写入后记得把防火墙重起一下,才能起作用.[root@tp ~]# service iptables restart现在IPTABLES配置表里什么配置都没有了,那我们开始我们的配置吧(3)设定预设规则[root@tp ~]# iptables -P INPUT DROP[root@tp ~]# iptables -P OUTPUT ACCEPT[root@tp ~]# iptables -P FORWARD DROP上面的意思是,当超出了IPTABLES里filter表里的两个链规则(INPUT,FORWARD)时,不在这两个规则里的数据包怎么处理呢,那就是DROP(放弃).应该说这样配置是很安全的.我们要控制流入数据包而对于OUTPUT链,也就是流出的包我们不用做太多限制,而是采取ACCEPT,也就是说,不在着个规则里的包怎么办呢,那就是通过.可以看出INPUT,FORWARD两个链采用的是允许什么包通过,而OUTPUT链采用的是不允许什么包通过.这样设置还是挺合理的,当然你也可以三个链都DROP,但这样做我认为是没有必要的,而且要写的规则就会增加.但如果你只想要有限的几个规则是,如只做WEB服务器.还是推荐三个链都是DROP.注:如果你是远程SSH登陆的话,当你输入第一个命令回车的时候就应该掉了.因为你没有设置任何规则.怎么办,去本机操作呗!(4)添加规则.首先添加INPUT链,INPUT链的默认规则是DROP,所以我们就写需要ACCETP(通过)的链为了能采用远程SSH登陆,我们要开启22端口.[root@tp ~]# iptables -A INPUT -p tcp --dport 22 -j ACCEPT[root@tp ~]# iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT(注:这个规则,如果你把OUTPUT 设置成DROP的就要写上这一部,好多人都是望了写这一部规则导致,始终无法SSH.在远程一下,是不是好了.其他的端口也一样,如果开启了web服务器,OUTPUT设置成DROP的话,同样也要添加一条链:[root@tp ~]# iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT ,其他同理.)如果做了WEB服务器,开启80端口.[root@tp ~]# iptables -A INPUT -p tcp --dport 80 -j ACCEPT如果做了邮件服务器,开启25,110端口.[root@tp ~]# iptables -A INPUT -p tcp --dport 110 -j ACCEPT[root@tp ~]# iptables -A INPUT -p tcp --dport 25 -j ACCEPT如果做了FTP服务器,开启21端口[root@tp ~]# iptables -A INPUT -p tcp --dport 21 -j ACCEPT[root@tp ~]# iptables -A INPUT -p tcp --dport 20 -j ACCEPT如果做了DNS服务器,开启53端口[root@tp ~]# iptables -A INPUT -p tcp --dport 53 -j ACCEPT如果你还做了其他的服务器,需要开启哪个端口,照写就行了.上面主要写的都是INPUT链,凡是不在上面的规则里的,都DROP允许icmp包通过,也就是允许ping,[root@tp ~]# iptables -A OUTPUT -p icmp -j ACCEPT (OUTPUT设置成DROP的话)[root@tp ~]# iptables -A INPUT -p icmp -j ACCEPT (INPUT设置成DROP的话)允许loopback!(不然会导致DNS无法正常关闭等问题)IPTABLES -A INPUT -i lo -p all -j ACCEPT (如果是INPUT DROP)IPTABLES -A OUTPUT -o lo -p all -j ACCEPT(如果是OUTPUT DROP)下面写OUTPUT链,OUTPUT链默认规则是ACCEPT,所以我们就写需要DROP(放弃)的链.减少不安全的端口连接[root@tp ~]# iptables -A OUTPUT -p tcp --sport 31337 -j DROP[root@tp ~]# iptables -A OUTPUT -p tcp --dport 31337 -j DROP有些些特洛伊木马会扫描端口31337到31340(即黑客语言中的elite 端口)上的服务。

相关文档
最新文档