iptables 配置 NAT转发 cycwll.docx
- 文档编号:28006561
- 上传时间:2023-07-07
- 格式:DOCX
- 页数:13
- 大小:34.54KB
iptables 配置 NAT转发 cycwll.docx
《iptables 配置 NAT转发 cycwll.docx》由会员分享,可在线阅读,更多相关《iptables 配置 NAT转发 cycwll.docx(13页珍藏版)》请在冰豆网上搜索。
iptables配置NAT转发cycwll
#vim/etc/sysctl.conf 配置路由转发。
net.ipv4.ip_forward=0
修改为
net.ipv4.ip_forward=1 允许内置路由
#sysctl-p 更新
NAT
#iptables-tnat-APOSTROUTING-s192.168.1.0/24-oppp0-jSNAT--to123.184.176.205
#serviceiptablessave
192.168.1.223的网关设置成192.168.1.254(NAT的服务器)
端口映射:
#iptables-tnat-APREROUTING--dst123.184.176.205-ptcp--dport9901-jDNAT--to-destination192.168.1.223:
9901
可以先让所有链默认ACCEPT,以免影响调试
iptables-PFORWARDACCEPT
iptables-POUTPUTACCEPT
iptables-PINPUTACCEPT
开放DNS端口
iptables-AFORWARD-ptcp--dport53-jACCEPT
iptables-AFORWARD-pudp--dport53-jACCEPT
由于是PPPOE,没有固定IP地址,所以需要自己写个脚本,检测一下外网IP是否变化,如果发生变化则主动到ddns访问注册。
#/bin/sh
PPPIP_OLD=`ifconfigppp0|grep-Po'(?
<=addr:
).*(?
=P-t)'`
whiletrue
do
sleep600
PPPIP_NEW=`ifconfigppp0|grep-Po'(?
<=addr:
).*(?
=P-t)'`
echo$PPPIP_NEW
if[[$PPPIP_NEW!
=$PPPIP_OLD]]
then
lynx-mime_header-auth=cycwll:
801218"
PPPIP_OLD=$PPPIP_NEW
iptables-F-tnat
iptables-tnat-APOSTROUTING-s192.168.1.0/24-oppp0-jSNAT--to$PPPIP_NEW
#ZabbixServerssh
iptables-tnat-APREROUTING--dst$PPPIP_NEW-ptcp--dport9901-jDNAT--to-destination192.168.1.223:
9901
#SVN
iptables-tnat-APREROUTING--dst$PPPIP_NEW-ptcp--dport55443-jDNAT--to-destination192.168.1.220:
443
#BigBlueButton80/1935/9123
iptables-tnat-APREROUTING--dst$PPPIP_NEW-ptcp--dport80-jDNAT--to-destination192.168.1.222:
80
iptables-tnat-APREROUTING--dst$PPPIP_NEW-ptcp--dport1935-jDNAT--to-destination192.168.1.222:
1935
iptables-tnat-APREROUTING--dst$PPPIP_NEW-ptcp--dport9123-jDNAT--to-destination192.168.1.222:
9123
fi
done
---------------------------------------------------------------------
今天新来了一台服务器,要做跳板机,把以前的代码粘贴复制,结果问题来了,怎么也转发不了,
百思不明,后来只好一点点查找。
首先查找网络,
发现网络没有问题,内网外网,双网卡网关均没有问题,
于是只好XX搜索问题,抓住根本这里是我找到的对自己很有用的文章就贴了出来,供日后再出现这样的问题,以用来解决。
CentOS下配置iptables防火墙
linuxNAT(iptables)配置
CentOS下配置iptables
1,vim/etc/sysconfig/network 这里可以更改主机名称。
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=BGI-TJ.localdomain
GATEWAY=192.168.11.1(超算网关)
2.vim/etc/sysconfig/network-scripts/ifcfg-eth0 第一块网卡。
BroadcomCorporationNetXtremeIIBCM5709GigabitEthernet
DEVICE=eth0
BOOTPROTO=static
HWADDR=A4:
BA:
DB:
43:
XX:
XX
IPADDR=192.168.11.2(公网地址)
NETMASK=255.255.255.0
ONBOOT=yes
GATEWAY=192.168.11.1 (可不设前面已经设置)
3.vim/etc/sysconfig/network-scripts/ifcfg-eth1 网卡2,就是内网
#BroadcomCorporationNetXtremeIIBCM5709GigabitEthernet
DEVICE=eth1
BOOTPROTO=static
HWADDR=A4:
BA:
DB:
43:
XX:
XX
IPADDR=192.168.136.1(内网地址)
NETMASK=255.255.255.0
ONBOOT=yes
4.vim/etc/sysctl.conf 这里是重点配置路由转发,路由开启等都要用到。
#ControlsIPpacketforwarding
net.ipv4.ip_forward=0
修改为
#ControlsIPpacketforwarding
net.ipv4.ip_forward=1 允许内置路由
5.sysctl-p 更新
6.servicenetworkrestart 从启网卡
7,如果找不到另一块网卡可以改加载。
/etc/network/interfaces 两块网卡的内容可以编辑
autoeth0
ifaceeth0inetstatic
address192.168.18.2
netmask255.255.255.0
network192.168.18.0
gateway 192.168.18.1
autoeth1
ifaceeth1inetstatic
address172.17.94.93
netmask255.255.255.0
broadcast172.17.94.255
gateway172.17.94.254
默认是第一块网卡,可以设置两块同时开启
8.iptables-F
9.iptables-tnat-APOSTROUTING-s192.168.136.0/24-oeth0-jSNAT--to192.168.11.2转发到11网段。
10./etc/rc.d/init.d/iptablessave 或者serviceiptablessave
11.serviceiptablesrestart
12.如果发现DNS无法解析,请输入下列命令防火墙的问题不用想。
先都通过在根据配置更改。
iptables-PFORWARDACCEPT
iptables-POUTPUTACCEPT
iptables-PINPUTACCEPT
/etc/rc.d/init.d/iptablessave
serviceiptablesrestart
iptables-AINPUT-ilo-jACCEPT
iptables-AFORWARD-ptcp--dport80-jACCEPT
iptables-AFORWARD-ptcp--dport22-jACCEPT
iptables-AFORWARD-ptcp--dport53-jACCEPT
iptables-AFORWARD-pudp--dport53-jACCEPT
iptables-AFORWARD-ptcp--dport25-jACCEPT
iptables-AFORWARD-ptcp--dport110-jACCEPT
iptables-AFORWARD-pudp--dport110-jACCEPT
iptables-AFORWARD-ptcp--dport143-jACCEPT
iptables-AFORWARD-pudp--dport143-jACCEPT
iptables-AFORWARD-ptcp--dport993-jACCEPT
iptables-AFORWARD-pudp--dport993-jACCEPT
iptables-AFORWARD-ptcp--dport995-jACCEPT
iptables-AFORWARD-pudp--dport995-jACCEPT
serviceiptablessave
serviceiptablesrestart
iptables-AINPUT-ilo-jACCEPT
iptables-AINPUT-ilo-jACCEPT
iptables-AFORWARD-ptcp-jACCEPT
iptables-AFORWARD-pudp-jACCEPT
iptables-AFORWARD-ptcp--dport1:
65534-jACCEPT
serviceiptablessave
serviceiptablesrestart
sysctl-p
servicenetworkrestart
iptables-F
iptables-tnat-APOSTROUTING-s192.168.*.*/24-oeth0-jSNAT--toip地址。
iptables-PFORWARDACCEPT
iptables-POUTPUTACCEPT
iptables-PINPUTACCEPT
serviceiptablessave
serviceiptablesrestart
iptables-AINPUT-ilo-jACCEPT
iptables-AFORWARD-ptcp--dport1:
65534-jACCEPT
iptables-AFORWARD-pudp--dport1:
65534-jACCEPT
serviceiptablessave
serviceiptablesrestart
默认为:
iptables-PINPUTDROP
iptables-PFORWARDDROP
iptables-POUTPUT ACCEPT
会影响许多功能的使用。
就是ip跳板,从一个ip调到你想给大家使用的机器(屏蔽你不想直接用的口)端口镜像
iptables-tnat-APREROUTING-dx.x.x.x(公网IP)-ptcp--dport2200(端口号)-jDNAT--to192.168.3.202:
22(内网ip:
内网IP端口)NAT默认路由
iprouteadd192.168.6.0/24 via192.168.11.2
或者加一条网关默认给你想跳的ip网段iprouteadd -net192.168.6.0/24 gw192.168.11.1
deveth0 (那个网卡必须能与你想跳的网络通) 比如192.168.11.0/24 与192.168.6.0/24互通。
说了这么多大家新手很糊涂是吧呵呵。
下面我们来实践一下吧。
1.准备工作
1.1CentOSFinal安装完毕,将不需要的服务停止
1.2修改主机名:
1.2.1/etc/sysconfig/network
1.2.2/etc/hosts
1.3网卡设置
1.3.1单个IP/etc/sysconfig/network-scripts/ifcfg-eth0
1.3.2IP段
#cd /etc/sysconfig/network-scripts/
#cp-aifcfg-eth0 ifcfg-eth0-range0
#viifcfg-eth0-range0
DEVICE=eth0-range0
IPADDR_START=192.168.136.2 #设置地址段的起始IP
IPADDR_END=192.168.136.100 #设置地址段的结束IP
GATEWAY=192.168.136.1
NETMASK=255.255.255.0
CLONENUM_START=”20” #设置虚拟接口(CLONE–克隆)的起始“编号”在本例中,将从20开始,21,22,23……
NO_ALIASROUTING=yes #该选项可以设置在主配置文件中(ifcfg-eth0)
#虚拟接口可以继承主配置文件中的设置,其作用是避免虚拟接口在从新定义路由信息,导致路由访问缓慢的问题。
1.2.3命令方式
ipaddradd192.168.136.0/24dev$OUTGOING
1.4路由设置
1.4.1
#vi/etc/sysconfig/static-routes
eth0(设备名)net(网络地址)192.168.0.0(子网)netmask255.255.255.0(网关地址)gw192.168.0.1
a./usr/sysconfig/network-scripts/route-eth0
10.0.2.0/24via192.168.0.144
10.0.3.0/24via192.168.0.144
10.0.4.0/24via192.168.0.144
1.4.2给系统主路由表配置网关,这个网关是电信的网关
iprouteadd0/0via22.22.22.1
1.4.3添加路由规则,让所有通向网通的数据查询标示为11的路由表,增加一个网通提供的默认网关。
iprouteadd0/0via11.11.11.1table11
ipruleaddto60.0.0.0/13table11
ipruleaddto60.8.0.0/15table11
ipruleaddto60.10.0.0/16table11
要注意的是,在配置网卡的时候,先不要配置网关,不要使用老的ifconfig命令来配置网关,而要使用iproute2来配置网关,否则会造成冲突,或者使用iproutereplace命令来替换
iprouteadd命令。
1.5转发设置
/etc/sysctl.conf
#ControlsIPpacketforwarding
net.ipv4.ip_forward=1
filter.ip_conntrack_max=1048576
filter.ip_conntrack_tcp_timeout_established=300
1.6resolv.conf
nameserver10.0.0.1
2.iptables配置
2.1iptables初始化
iptables-tnat-F
iptables-F
iptables-X
iptables-PINPUTACCEPT
iptables-PFORWARDACCEPT
iptables-POUTPUTACCEPT
iptables-NNEWCONN
2.2NAT转换
2.2.1首先将从两个WAN口出去的数据包进行IP伪装masquerade,主要是不让对面知道你来自于哪里。
/sbin/iptables-tnat-Apostrouting-oeth1-jmasquerade
/sbin/iptables-tnat-Apostrouting-oeth2-jmasquerade
2.1.2SNAT转换网络。
iptables-tnat-APOSTROUTING-s内部IP地址/子网-o$OUTGOING-jSNAT--to$IPPOOL
2.1.3一个网段的电信网通自动切换
iptables-tnat-IPOSTROUTING-s192.168.0.0/24-d$电信ip-jSNAT--to222.168.1.3
***
***
***
iptables-tnat-APOSTROUTING-s192.168.0.0/24-jSNAT--to218.62.3.3
2.1.4访问222.222.5.0/15和222.240.0.0/13走电信,其他默认网通
#echo"200DIANXIN">>/etc/iproute2/rt_table(这个是添加到文件,执行一次即可)
#iproutereplacedefaultvia222.168.1.2tableDIANXIN
#ipruleaddfwmark1tableDIANXIN(这个注意顺序,用iprule可以查看)
#iptables-tnat-F
#iptables-tmangle-F
#iptables-tmangle-APREROUTING-ieth0-s192.168.0.0/24-d222.222.5.0/15-jMARK--set-mark1
#iptables-tmangle-APREROUTING-ieth0-s192.168.0.0/24-d222.240.0.0/13-jMARK--set-mark1
#iptables-tnat-APOSTROUTING-s192.168.0.0/24-d222.222.5.0/15-jSNAT--to$DIANXIN
#iptables-tnat-APOSTROUTING-s192.168.0.0/24-d222.240.0.0/13-jSNAT--to$DIANXIN
#iptables-tnat-APOSTROUTING-s192.168.0.0/24-jSNAT--to$接网通线路网卡的地址
#iprouteflushcache
2.1.6添加相似路由
if["$ALLOW_ACCESS_CLIENT"!
=""];then
forLANin${ALLOW_ACCESS_CLIENT};do
{
iptables-AFORWARD-ptcp-mmultiport-s${LAN}-o$ETH_WAN--dport$PORT-jACCEPT
iptables-AFORWARD-pudp-mmultiport-s${LAN}-o$ETH_WAN--dport$PORT-jACCEPT
iptables-AFORWARD-ptcp-mmultiport-i$ETH_WAN--sport$PORT-jACCEPT
iptables-AFORWARD-pudp-mmultiport-i$ETH_WAN--sport$PORT-jACCEPT
}
done
fi
2.3保存
iptables-save-c>/etc/sysconfig/iptables
1.5转发设置
/etc/sysctl.conf
#ControlsIPpacketforwarding
net.ipv4.ip_forward=1
filter.ip_conntrack_max=1048576
filter.ip_conntrack_tcp_timeout_established=300
2.iptables配置
2.1iptables初始化
iptables-tnat-F
iptables-F
iptables-X
iptables-PINPUTACCEPT
iptables-PFORWARDACCEPT
iptables-POUTPUTACCEPT
iptables-NNEWCONN
2.2NAT转换
2.2.1首先将从两个WAN口出去的数据包进行IP伪装masquerade
/sbin/iptables-tnat-Apostrouting-oeth1-jmasquerade
/sbin/iptables-tnat-Apostrouting-oeth2-jmasquerade
2.1.2SNAT
iptables-tnat-APOSTROUTING-s内部IP地址/子网-o$OUTGOING-jSNAT
--to$IPPOOL
2.1.3一个网段的电信网通自动切换
iptables-tnat-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- iptables 配置 NAT转发 cycwll NAT 转发