iptable -nat表的应用, iptables的备份与恢复

iptables - nat表的应用

网络相关:一台虚拟机可以增加不同的网卡,每个网卡可以工作在不同模式下;所有虚拟机的NAT网卡应该是在一个网段内;所有桥接也在一个网段内,而且跟宿主机是一个网段;所有仅主机模式在一个网段内,不能出外网,但是网段内可以互相通信;

所以以下虚拟机外网网卡的意思是NAT模式,设置好配置文件,这个网卡就可以共享到宿主机的网络,可以连通外网;(使用桥接也可以)
内网网卡的意思是仅主机模式或LAN区段,网卡肯定是不能出外网的;

需求 1:

电脑A有两个网卡,分别连接内网和外网; 电脑B有一个网卡,只可连接内网;
电脑B要利用电脑A访问外网;

  • 虚拟机A原来有一个可连接外网的网卡,添加一个内网网卡(这个网卡要跟电脑B在一个网段内,可互相ping通;可参考以下步骤,不同的虚拟机操作可能不一样)

先增加一个网卡,默认是NAT
在这里插入图片描述

添加一个LAN区段
LAN区段功能就是设置一个网卡在你设置的网段内,这个网段不能跟宿主机通信,所以不能连接外网;但如果另外一个虚拟机也设置在这个LAN区段,那这两台机器可互相通信;网段是自定义的,用下面命令行方式,或使用配置文件方式都可以,配置文件只需要IP和netmask就可以;
事实上这个可以用仅主机模式代替,仅主机模式,让主机跟虚拟主通信,但是不会共享外网连接;如果多个虚拟机使用仅主机模式,那这些虚拟机之前可以互相通信,他们处于同一个网段;跟LAN区段的区别是,虚拟主可以跟宿主机通信;网络区段是给定的;
在这里插入图片描述

  • 电脑B添加网卡,添加到上面设置的LAN 区段,让两个机器可以通信(原来有网卡在虚拟机里关闭或ifdown来把可以上网的网卡关闭)

  • 一些命令

机器A:
ifconfig ens37 192.168.100.1/24		#命令设置IP地址,重启丢失;配置文件存在不能使用这个命令;


机器B:
ifconfig ens37 192.168.100.100/24		#IP为 192.168.100.100;
route -n			#查看网关;
route add default gw 192.168.100.1 		#设置网关为机器A的内网网卡IP;
#route - show / manipulate the IP routing table,修改影响力是很大的,设置这个后原来网卡配置文件的网关可能没用了,会导致一些问题,如ping不通外网,要比较注意,查找问题会比较麻烦。
  • 此时两台电脑两个内网IP可互相ping通,电脑B不能ping通A的外网网卡;

  • 设置A电脑ip_forward,开启转发

[root@tanyvlinux ~]# cat /proc/sys/net/ipv4/ip_forward
0
[root@tanyvlinux ~]# echo "1" > !$
echo "1" > /proc/sys/net/ipv4/ip_forward
  • 设置电脑A iptable的转发控制 (发现不设置也可以,默认全部转发,命令有必要了解)
iptables -t nat -A POSTROUTING -s 192.168.100.100 -o ens33 -j MASQUERADE
  • 电脑B这时可拼通电脑A的外网网卡
  • 电脑B设置DNS后,可ping通外网,可上网
vi /etc/resolv.conf
需求2:

电脑A有两个网卡,分别连接内网和外网; 电脑B有一个网卡,只可连接内网;
电脑C可以访问电脑A外网IP;电脑C要利用电脑A SSH连接到电脑B;

  • 电脑AB设置网卡不再重复;需要设置B网关为A的内网IP;B的其他网卡要ifdown;
  • 设置A电脑ip_forward,开启转发,不再重复;
  • 设置iptables规则
iptables -t nat -A PREROUTING -d 192.168.133.130 -p tcp --dport 1122 -j DNAT --to 192.168.100.100:22		#设置访问A外网IP1122端口转发到电脑B的22端口;
iptables -t nat -A POSTROUTING -s 192.168.100.100 -j SNAT --to 192.168.133.130		#设置电脑B的IP发出的包,改成为电脑A外网IP,跟A1122端口通信等于跟B通信;
  • 即可通过电脑C SSH到电脑B
ssh root@192.168.133.130 -p 1122

iptables备份与恢复

  • 命令1
service iptables save	#会把规保存到/etc/sysconfig/iptables;
service iptables restart		#重启后从配置文件里加载配置;
  • 命令2
iptables-save > ipt.txt		#把配置文件保存在自定义文件里;
iptables-restore < ipt.txt		#从文件恢复规则;
iptables-save -t nat > ipt2.txt
iptables-restore < ipt2.txt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值