导航:首页 > 操作系统 > linuxnat

linuxnat

发布时间:2022-03-04 00:46:40

① 如何让linux支持NAT

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -I POSTROUTING -j MASQUERADE
请参考《Linux就该这么学》教程。

② Linux NAT 实现公网转公网

实现不了

那需要进行二次路由

也就是 你的两个公网IP需要路由一次 然后内网和其中一个公网再进行路由

第二次的路由你可以自己做

但 第一次的路由 你自己就做不了了 那必须所有的路由器中都进行一次 我想你没这个能力吧

一般这种情况想实现的话都是用代理方式

这种情况你需要两台机器 来做

一台机器 通过路由 NAT到 另外一台的公网IP 然后在那台机器做代理 也就是下面的工作形式

内网IP--NAT公网IP--另外一台机器的公网IP--实现代理--访问外网

③ linux如何配置NAT

1. 配置IP地址
1.1 正确配置学校分配的IP使能正常上网
1) 按学校分配的IP地址配置好Linux主机
[~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
| DEVICE=eth0 |
| BOOTPROTO=none |
| HWADDR=00:1E:90:13:E0:25 |
| IPADDR=10.3.10.19 |
| NETMASK=255.255.255.0 |
| GATEWAY=10.3.10.254 |
| ONBOOT=yes |
| TYPE=Ethernet |
| DNS1=211.64.120.2 |
| DEFROUTE=yes |
| DOMAIN=168.96.1.1 |

2) 重起网卡
[~]# servie network restart

note: 经过以上的配置, Linux主机应该能够正常上网了!

1.2 新增eth0别名设备eth0:0
[~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0:0
| # eth0:0 必须要用''括起来: 'eth0:0' |
| DEVICE='eth0:0' |
| ONBOOT=yes |
| BOOTPROTO=static |
| IPADDR=192.168.50.1 |
| NETMASK=255.255.255.0 |
| USERCTL=no |

1.3 配置后 查看一下是否配置成功:
[~]# ifconfig
| eth0 Link encap:Ethernet HWaddr 00:1E:90:13:E0:25 |
| inet addr:10.3.10.19 Bcast:10.3.10.255 Mask:255.255.255.0 |
| inet6 addr: fe80::21e:90ff:fe13:e025/64 Scope:Link |
| UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1 |
| RX packets:187685 errors:0 dropped:0 overruns:0 frame:0 |
| TX packets:137327 errors:0 dropped:0 overruns:0 carrier:0 |
| collisions:0 txqueuelen:1000 |
| RX bytes:134816893 (128.5 MiB) TX bytes:56066393 (53.4 MiB) |
| Interrupt:27 Base address:0xa000 |

| eth0:0 Link encap:Ethernet HWaddr 00:1E:90:13:E0:25 |
| inet addr:192.168.50.1 Bcast:192.168.50.255 Mask:255.255.255.0 |
| UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1 |
| Interrupt:27 Base address:0xa000 |

2. 配置路由
由于在配置网卡接口时, 已自动配置一定的路由, 所以我们只需查看一下其信息, 验证其
是否已经被正确配置:
[root ~]$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.50.0 * 255.255.255.0 U 0 0 0 eth0
10.3.10.0 * 255.255.255.0 U 1 0 0 eth0
link-local * 255.255.0.0 U 1002 0 0 eth0
default 10.3.10.254 0.0.0.0 UG 0 0 0 eth0

3. 配置NAT
1) 新建nat.sh脚本文件并保存在 /usr/local/nat/ 目录下:
[~]# cat /usr/local/nat/nat.sh
| #!/bin/bash |

| # 0. 设定你的参数值 |
| EXIF='eth0' # 这个是对外的网卡接口, 可能是'ppp0'等 |
| EXNET='192.168.50.0/24' # 这个是对内的网段 |

| # 底下如无需要, 请不要改动了! |
| # 1. 启动routing等 |
| echo 1 > /proc/sys/net/ipv4/ip_forward |
| /sbin/iptables -F |
| /sbin/iptables -X |
| /sbin/iptables -Z |
| /sbin/iptables -F -t nat |
| /sbin/iptables -X -t nat |
| /sbin/iptables -Z -t nat |
| /sbin/iptables -P INPUT ACCEPT |
| /sbin/iptables -P OUTPUT ACCEPT |
| /sbin/iptables -P FORWARD ACCEPT |
| /sbin/iptables -t nat -P PREROUTING ACCEPT |
| /sbin/iptables -t nat -P POSTROUTING ACCEPT |
| /sbin/iptables -t nat -P OUTPUT ACCEPT |

| # 2. 载入模组 |
| /sbin/modprobe ip_tables 2> /dev/null |
| /sbin/modprobe ip_nat_ftp 2> /dev/null |
| /sbin/modprobe ip_nat_irc 2> /dev/null |
| /sbin/modprobe ip_conntrack 2> /dev/null |
| /sbin/modprobe ip_conntrack_ftp 2> /dev/null |
| /sbin/modprobe ip_conntrack_irc 2> /dev/null |

| # 3. 启动ip伪装 |
| /sbin/iptables -t nat -A POSTROUTING -o $EXIF -s $EXNET -j MASQUERADE |

2) 增加可执行权限
[~]# chmod +x /usr/local/nat/nat.sh

4. 大功告成
1) Linux主机配置完成, 现在只需重新启动一下刚才的配置:
[~]# servie network restart
[~]# /usr/local/nat/nat.sh

2) 为了使得开机即可运行, 可在 /etc/rc.d/rc.local 文件加入相应的命令:
[~]# echo "/usr/local/nat/nat.sh" >> /etc/rc.d/rc.local

5. 配置客户机(可以是windows或linux等其它系统)
1. network 设定需要为: 192.168.50.0

2. broadcast 设定需要为: 192.168.50.255

3. netmask 设定需要为 255.255.255.0

4. IP 设定需要为 192.168.50.1 ~ 192.168.50.254 之一, 且‘不能重复’

5. Gateway 或者要设定为你的 Linux 的对内 IP , 以我的例子来说, 就是
192.168.50.1

6. DNS 的设定: 这个最容易出错了, DNS 设定需要是 ISP 给你的 DNS
IP, 如果不知道的话, 可以填入 168.95.1.1 或者是
139.175.10.20 这一个 SeedNet 的 DNS 即可!千万不要设定为 192.168.1.2

④ linux系统nat转换

POSTROUTING时,-o从理论上说,是有必要保留的,否则会有一些你不希望NAT但实际却被NAT的数据包在网间传递。比如NAT主机有重定向路由,或者NAT主机多出口的时候。
不通应该是你拨号后,ppp端口不是ppp0而是ppp1、ppp2……依次往下排了,ppp0已经成为过去式了,^_^
用 -o ppp+,这样你就不用关心ppp端口后的那个数字了。

另外,INPUT链与映射没关系,INPUT 10006那条规则没用。
OUTPUT,我知道RHEL/CENTOS/FEDORE默认的OUTPUT都是ACCEPT,如果你是这三种版本,那第二条也没用。

端口映射只用到两个表三个链,filter表的FORWARD,nat表的POSTROUTING和PREROUTING。

⑤ linux的nat转换问题

一般公司的内网是不允许从外网访问的,但是你可以做端口映射,可以把内外网IP的对应端口都指定为1000。这个配置过程涉及到一些Linux系统的操作,可以网络《Linux就该这么学》看看~

⑥ 是否有办法看到实时的linux中nat 映射表

POSTROUTING时,-o从理论上说,是有必要保留的,否则会有一些你不希望NAT但实际却被NAT的数据包在网间传递。比如NAT主机有重定向路由,或者NAT主机多出口的时候。 不通应该是你拨号后,ppp端口不是ppp0而是ppp1、ppp2……依次往下排了,ppp0已经成...

⑦ LINUX 开启NAT 命令详解

-t 指定命令要操作的匹配包的表
-A 是新增的意思
-s 用来比对封包的来源 IP
-j 指定规则的目标
-A 后面的选项有INPUT OUTPUT FORWARD
这句话的意思是:更改所有来自10.50.10.0/24的数据包的源ip地址为192.168.79.129

⑧ linux mint 如何做nat

配置NAT要打开Linux内核iptables的NAT功能,而且还要配置文件,你这个情况可能是网关或者路由没配置好,当有Windows时,路由可定不是往外网去的,可定是走的是内部网,所以去掉Windows就好了。看看配置文件对不对,路由的,还有Linux的NAT的都看看

⑨ linux如何开启NAT转发

vi /etc/sysctl.conf
net.ipv4.ip_forward = 0 //0改为1
保存执行:
sysctl -p

⑩ Linux怎么做NAT

看你用什么样的发行版了。

一般通用方式是修改iptables的规则,增加端口重定向的规则。

比如:

iptables -t nat -A PREROUTING -p tcp -m tcp --dport21521 -j DNAT --to-destination192.168.0.211:1521

iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -d 192.168.0.211 -p tcp -m tcp --dport 1521 -j SNAT --to-source 192.168.0.132

如果是radhat/centos,可以配置firewall,做端口映射。比如:

firewall-cmd --add-forward-port=proto=80:proto=tcp:toaddr=192.168.1.0.1 # 将80端口的流量转发至192.168.0.1

阅读全文

与linuxnat相关的资料

热点内容
缓解压力放松心情的办法是吵架 浏览:778
pythonmap使用方法 浏览:780
旅行世界app叫什么 浏览:919
加密篦子怎么制造视频 浏览:903
电脑主服务器未运行怎么解决 浏览:328
js超级玛丽源码 浏览:308
云镜下载什么格式app 浏览:765
iosAndroidjava 浏览:402
外卖员转型做程序员 浏览:927
看房用什么app准 浏览:157
鸡蛋解压玩具测评 浏览:705
阿里云发布arm服务器芯片 浏览:756
对加密货币平台的态度 浏览:373
刺客信条pdf 浏览:453
湛江头条程序员 浏览:162
装上加密狗就死机 浏览:927
windows程序员转linux 浏览:570
androidusb驱动xp 浏览:947
单片机的数字电压表设计 浏览:792
成功连接服务器是什么意思 浏览:892