RedHat 9上怎么用iptables做NAT网和记录日志

75次阅读
没有评论

共计 3312 个字符,预计需要花费 9 分钟才能阅读完成。

这篇文章给大家分享的是有关 RedHat 9 上怎么用 iptables 做 NAT 网和记录日志的内容。丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,一起跟随丸趣 TV 小编过来看看吧。

RedHat 9 上用 iptables 做 NAT 网关 - - 我使用中的设置

一、将下列内容加入 /etc/rc.local 文件中:

注:eth0 绑内网 IP eth2 绑外网 IP

[root@RHNAT01 root]# vi /etc/rc.local

#!/bin/sh # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don rsquo;t # want to do the full Sys V style init stuff.

touch /var/lock/subsys/local

route add -net 0.0.0.0 gw 外网网关 netmask 0.0.0.0 dev eth2

route add -net 内网网段 A gw 内网网关 netmask 255.255.240.0 dev eth0

route add -net 220.114.128.0 gw 211.162.0.129 netmask 255.255.224.0 dev eth0

route add -net 内网网段 B gw 内网网关 netmask 255.255.255.0 dev eth0

route add -net 内网网段 C gw 内网网关 netmask 255.255.255.0 dev eth0

route add -net 内网网段 D gw 内网网关 netmask 255.255.0.0 dev eth0

route add -net 内网网段 E gw 内网网关 netmask 255.255.0.0 dev eth0

echo 1048576 /proc/sys/net/ipv4/netfilter/ip_conntrack_max

sysctl -w net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=1800

echo 1 /proc/sys/net/ipv4/tcp_syncookies

echo 1 /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses

echo 268435456 /proc/sys/kernel/shmall

echo 268435456 /proc/sys/kernel/shmmax

echo 1024 65000 /proc/sys/net/ipv4/ip_local_port_range

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

/sbin/modprobe ip_tables

/sbin/modprobe iptable_filter

/sbin/modprobe iptable_nat

/sbin/modprobe ip_conntrack

/sbin/modprobe ip_conntrack_ftp

/sbin/modprobe ip_nat_ftp

/sbin/iptables –flush INPUT

/sbin/iptables –flush FORWARD

/sbin/iptables –flush POSTROUTING –table nat

/sbin/iptables –policy FORWARD DROP

/sbin/iptables –table nat –append POSTROUTING –out-interface eth2 –source 内网网段 A /19 –jump MASQUERADE

/sbin/iptables –table nat –append POSTROUTING –out-interface eth2 –source 内网网段 B /18 –jump MASQUERADE

/sbin/iptables –table nat –append POSTROUTING –out-interface eth2 –source 内网网段 C /24 –jump MASQUERADE

/sbin/iptables –table nat –append POSTROUTING –out-interface eth2 –source 内网网段 D /24 –jump MASQUERADE

/sbin/iptables –append FORWARD –in-interface eth2 (此处填外网 IP 网口)–match state –state ESTABLISHED,RELATED –jump ACCEPT

/sbin/iptables –append FORWARD –source 内网网段 A /19 –jump ACCEPT

/sbin/iptables –append FORWARD –source 内网网段 B /18 –jump ACCEPT

/sbin/iptables –append FORWARD –source 内网网段 C /24 –jump ACCEPT

/sbin/iptables –append FORWARD –source 内网网段 D /24 –jump ACCEPT

/sbin/iptables -I FORWARD -m state –state NEW -j LOG –log-level debug

/sbin/iptables –table nat –append POSTROUTING –out-interface eth0(内网口) -j SNAT –to *.*.*.*(外网 IP)

设置完成

二、日志保存

vi /etc/syslog.conf

在原来不动的基础上添加

#remote net recevie stepup

kern.=debug @*.*.*.X #保存本地就用此句 -/var/log/iptables.log

*.* @*.*.*.X

至此完成 Iptables Nat 的设置和远程日志发送设置

几个命令

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

service syslog restart

Syslog 服务重新载入

iptables -L

这个命令会尽可能地以易读的形式显示当前正在使用的规则集。比如,他会尽量用文件 /etc/services 里相应的名字表示端口号,用相应的 DNS 记录表示 IP 地址。

但后者可能会导致一些问题,例如,他想尽力把 LAN 的 IP 地址 (如 192.168.1.1) 解析成相应的名字。但 192.168.0.0/16 这个网段是私有的,也就是说,他只能

用在局域网里,而不能在 Internet 里使用,所以他不会被 Internet 上的 DNS 服务器解析。因此,当解析这个地址时,命令就似乎停在那儿了。为了避免这种情况

的发生,我们就要使用选项:

iptables -L -n

如果你想看看每个策略或每条规则、每条链的简单流量统计,能在上面的命令后再加一个 verbose 标志,如下:

iptables -L -n -v

不要忘了,iptables - L 命令还能查看 nat 表和 mangle 表的内容哦(更不要忘了,默认的表是 filter),只需要使用 - t 选项, 比如我们只想看 nat 表的规则,就

用下面的命令:

iptables -L -t nat

在 /proc 里,可能更有一些文件你会感兴趣。比如,你能在连接跟踪记录表里看到当前有哪些连接。这个表包含了当前的所有连接,你还能通过他了解到每个

连接处于什么状态。要注意,这个表是不能编辑的,即使能,也不应该更改他。能用下面的命令查看这个表:

cat /proc/net/ip_conntrack | less

此命令会显示当前所有被跟踪的连接,但要读懂那些记录可是有些难度哦。

修正和清空 iptables 的命令 iptables -D INPUT 10

iptables -F INPUT

iptables –list 查看过滤表

感谢各位的阅读!关于“RedHat 9 上怎么用 iptables 做 NAT 网和记录日志”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-16发表,共计3312字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)